用指针交换变量怎么理解?

 我来答
huzhaomu945
2013-11-21 · TA获得超过477个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:186万
展开全部
  这么想吧,指针变量里存放的是地址,*号代表的是取这个指针变量内的地址里的值。
  若有 int a; int *p; 那么p=&a是把a的地址存放在int 型的指针变量p里,那么*p代表的就是p的内容,即a的地址上存放的值,也就是a的具体值。
  那这里就可以理解了,
t=*p1:把p1指向地址的内容赋给t
*p1=*p2:把*p2指向地址的内容赋给*p1指向地址的内容
*p2=t:把t的值回送给p1指向地址的内容
这里t起到了临时变量的作用,实现了对p1和p2两个指针指向地址的内容的交换
良辰浩淼
2013-11-19 · 超过10用户采纳过TA的回答
知道答主
回答量:72
采纳率:100%
帮助的人:32.1万
展开全部

*p1是指向p1地址的变量

*t是指向t变量的指针

t = *p1;//将指向p1的变量放在t中
*p1 = *p2;//将指向p2的变量付给将指向p1的地址
*p2 = t;//将t赋给将指向p1的地址
更多追问追答
追问
当t=*t怎么修改
也能思想交换、?
追答
*t = *p1;
*p1 = *p2;
*p2 = *t;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-19
展开全部
*p是解引用、就是引用p指向的地址所保存的值、p是个地址、而*p就是一个值、赋值就不用说了把
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式