值传递:使用变量、常量、数组等作为函数的参数。 传递方式: 实参 (a, b) —>形参 (x,y); (单向传递)
形参与实参分别有各自的存储空间。形参调用时被分配存储单元,调用后释放。
形参不会影响实参。
址传递:
在C语言中,数组名就代表数组的首地址。 传递内容:数组的首地址/指针的值;
形参==实参 即形参和实参占用相同的存储单元。
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的地址并没有改变。