标签:c style class blog code tar
1。今天早上突发奇想,复习一下指针交换,由于一时的忘记,准备写到这里,以备以后复习。
首先指针的交换,必须传地址,而非传值。(你不相信,一会看结果)
下面小小的函数来实现
1 void swap(int *a,int *b) 2 { 3 int tmp = *a; 4 *a = *b; 5 *b = tmp; 6 }
2.接下来通过一个Demo来进行验证。同时我也打印了内存地址,你一看就明白了。
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int main() 5 { 6 int x = 12,y = 23; 7 int *a,*b; // 指针形式 "int" + "*" +"变量名" 8 a = &x; 9 b = &y; //*a = &x *b = &y 10 11 printf("%X %X\n",a,b); 12 printf("%d %d\n",*a,*b); 13 printf("%d %d\n",x,y); 14 int t; 15 t = *a; 16 *a = *b; 17 *b = t; 18 19 printf("%X %X\n",a,b); 20 printf("%d %d\n",*a,*b); 21 printf("%d %d\n",x,y); 22 }
如果你懒的打开编辑器,我已经把结果给你运行了,看图:
好了说明问题了
标签:c style class blog code tar
原文地址:http://www.cnblogs.com/sxmcACM/p/3760434.html