在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;
}