swap,传参实质
作者:互联网
void swap(int a,int b){
int s=a;
a=b;
b=s;
}
int main(){
int x=1,y=2;
swap(x,y);
}
上面的函数并不能实现交换,因为传参相当于赋值
把x,y传给函数swap(),实际发生了:
int a=x,int b=y只是把x,y的值赋给a,b在函数中交换了a,b的值
对x,y无影响
而&和*可以实现
因为他们相当于
int &a=x,int &b=y;这里a,b分别为x,y的别名
int *a=x,int *b=y也可以,因为是a,b的地址
标签:传参,函数,int,交换,实质,swap,相当于 来源: https://www.cnblogs.com/Tenerome/p/15971357.html