Swap函数的三种传参:传值、传址、引用
int main(){
int a = 10;
int b = 20;
printf("before swap:a=%d b=%d\n", a, b);
Swap(a, b);
printf("after swap:a=%d b=%d\n", a, b);
system("pause");
return 0;
}
1、传值调用:复制一份值并传入(在swap结束时销毁),不影响原数据
调用方式: Swap(a, b);
void Swap(int x,int y){
int tmp=x;
x=y;
y=tmp;
}
2、传址调用:将地址交给调用函数,直接处理地址中的数据
调用方式: Swap(&a, &b);
void Swap(int *x, int *y){
int tmp = *x;
*x = *y;
*y = tmp;
}
3、引用调用:换一个名字处理原变量
引用,即变量的别名。定义方式:
int a=10;
int &b=a;在这里,意思就是给a变量起了一个新名字b,因此b不可再次被重新定义。
引用在声明时必须初始化,无空引用,并且引用不分等级。
调用方式: swap(a, b);
void swap(int &x,