#include
void swap(int*a,int*b){
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int a=1,b=2;
int *p1 = &a,*p2 = &b;
swap(p1,p2);
printf("a = %d,b = %d",a,b);
return 0;
}
PS:对*和&的理解
1. * :例如int* p的理解,就是p变量,只是是int*类型。一般这个p是地址,而*p是地址中的数值。
2. & :&a是地址,a是数值。
对应记忆:
int*与int类型:例如:p是*,q是普通
p与&q等价
*p与q等价
*号视为一把开启房间的钥匙,将其放在p前面,这样*p就可以把房间打开,获得变量a的值