变量a传给变量b:
值传递:变量a只是把值传递给第变量b,这两个变量的存储地址不同,b的值变化了而a的值不会变
引用传递:变量a传给变量b,两个变量操作的是同一块地址,所有值就会跟着这两个变量的操作而变
在c语言中,只有指针(指针就是地址)和数组(数组传递的是数组的首地址)是引用传递,其他是值传递
#include
void main(){
int a,b;
int * point_1,* point_2;
point_1=&a;
point_2=&b;
void stri1(int * p1,int * p2);
void stri2(int x,int y);
scanf("%d,%d",&a,&b);
stri1(point_1,point_2);
printf("a=%d,b=%d\n",a,b);
stri2(a,b);
printf("a=%d,b=%d\n",a,b);
}
void stri1(int * p1,int * p2){
int temp;
temp=* p1;
* p1=* p2;
* p2=temp;
}
void stri2(int x,int y){
int temp;
temp=x;
x=y;
y=temp;
}
值传递: