C语言函数传递方式-值传递和地址传递

97 阅读1分钟

值传递:使用变量、常量、数组等作为函数的参数。 传递方式: 实参 (a, b) —>形参 (x,y); (单向传递)

形参与实参分别有各自的存储空间。形参调用时被分配存储单元,调用后释放。

image.png

形参不会影响实参。

址传递: 在C语言中,数组名就代表数组的首地址。 传递内容:数组的首地址/指针的值;
形参==实参 即形参和实参占用相同的存储单元。

image.png

int

void swap(int *a,int *b){ 定义指针 a,b;
     int temp=*a;  将指针a所指向的值赋值给temp;
     temp=*a;
     *a=*b;
     *b=temp;
     }
     
     swap(&x,&y) 则可成功实现交换实参x,y的值并传递给主函数里的实参x,y。注意:x,y的地址并没有改变。
 

image.png