在c语言中每一个变量都有两个属性一个是值,一个是址。比如:
int a = 2;
变量a的值是2,变量a的地址,可以用&取地址操作符获取,即&a。
因此以C语言的函数传递中具备两种方式传递参数,一种是传址,一种传值。比如:
void f1(int v) { ; } //函数f1
void f2(int *p) { ; } //函数f2
f1(a) ; //这里传值
f2(&a); //这是传址
再比如:
void fun(int a, int b);
int main()
{
int c = 1;
int d = 2;
fun(c, d); //这里传递进去的c和d,跟形参a,b的地址都不是同一
//个地址,仅仅是将c的值赋给a,d的值赋给b,
//在fun函数里面改变a和b的值,跟c和d本身无任何关系
return 0;
}
版权声明:本文为博主原创文章,欢迎垂询 email: mysongs@163.com
原文地址:http://blog.csdn.net/molake10344/article/details/47807027