C语言,函数参数可以按照以下两种方式进行传递:
1.按值传递:
按值传递参数时,它们的值是通过临时变量传递的,所以函数中变量值的改变,不会影响到主调程序中变量的值
2.按地址传递:
按地址传递时,函数的参数一定是指针或者数组,由于采用按地址传递,函数参数的所以操作都是对地址进行的,所以他们的改变同时也影响到了主调程序中相对应变量的值。
如下
swap(int *u,int *v)
/* 按地址传递,将改变原主调函数对的变量的值*/
swap(*u,*v)
{
int temp;
temp=*u;
*u=*v;
*v=temp;
return
}
main()
{
int x,y,*px,*py;
px=&x;py=&y
x=15;y=20;
swap(px,py); /*也可以直接使用变量地址传递 swap(&x,&y)
}