输出结果 *x 为变量(地址传递声明参数)x为地址 &a 为地址(地址传递调用参数),a 为变量(变量传递声明与调用参数)
需要注意的是,C语言中使用地址传参,声明的格式是void function(int *a) 而调用的格式是:function(&a) 1)数组元素作为函数参数,函数的声明没有什么差别,还是分为上述的两种方式: void function(int a);//值传递 void function(int *a);//地址传递, 调用函数时分别采用 function(a[2]); function(&a[2]); 这种情况下,存在值传递与地址传递的不同,参考上述。 2)数组名作为参数传递: 例如function(int a[]) 调用函数:function(a);//这里a是一个数组名字 用数组名做函数实参时,不是把数组元素的值传给形参,而是把实参数组的首元素的地址传递给形式参数,也就是说形参数组发生改变,会使实参数组发生同样的变化。换言之,函数进行的操作就是直接发生在传递进来的数组上的。 另外还有一种引用传递,是c++语言中参数的传递方式,C中没有该调用方式,声明格式如下 void exchange(int &a,int &b)
