#include <stdio.h>
void
swap(int * p, int * q)
{
int tmp;
tmp = *p;
*p = *q;
*q = tmp;
}
void
swap1(int &p, int &q)
{
int tmp;
tmp = p;
p = q;
q = tmp;
}
int
main()
{
int a = 1, b = 2;
/* 大家都见过,不多做解释 */
swap(&a,&b);
printf("a = %d, b = %d\n",a,b);
/* 引用方式交换数据,引用相当于一个别名,
p和a变量指向同一个地址空间,修改同一个内存单元*/
swap1(a,b);
printf("a = %d, b = %d\n",a,b);
}
/*
结果:
a = 2, b = 1
a = 1, b = 2
*/