| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1022 人关注过本帖
标题:指针,,头痛,求解!
只看楼主 加入收藏
莣忧
该用户已被删除
收藏
 问题点数:0 回复次数:12 
指针,,头痛,求解!
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 指针 头痛 求解 
2010-05-18 16:40
冥卫
Rank: 8Rank: 8
来 自:深山老林
等 级:蝙蝠侠
帖 子:280
专家分:772
注 册:2010-4-20
收藏
得分:0 
先将P1赋值到T,在将P2赋值到P2,然后将T赋值到P1,这样不是就换了吗?
2010-05-18 16:47
hanzhenddd
Rank: 5Rank: 5
等 级:职业侠客
帖 子:90
专家分:361
注 册:2010-3-4
收藏
得分:0 
这些东西用得着看一晚上么。。。。

首先你看p1, p2, tmp都是指针是吧。。  指针里存放的是什么呢  肯定是地址啦,
首先 p1 = &a, p2 = &b;这是把a,b的地址赋给 p1,p2, 此时*p1 ,*p2 也就对应了 10, 11;

temp = p1, 此时 *temp = 10;
p1 = p2,   此时 *p1 = 11;
p2 = temp, 此时 *p2 = 10;

这是指针用来交换数据的时候常见的写法,这样做*p1和*p2的内容就可以互换了,在以后的各种排序算法中就会遇到。。。。

  
2010-05-18 16:48
alweeq86
Rank: 2
等 级:论坛游民
帖 子:67
专家分:20
注 册:2008-9-14
收藏
得分:0 
 temp = *p1;//temp=*p1=10 这里赋值并不是把指针p1的地址给temp,而是把10赋给了temp
  *p1 = *p2;
  *p2 = temp
这时temp只是交换了数值并未交换地址
要想交换地址,应该:
int *t;
t=p1;p1=p2;p2=t;
2010-05-18 19:34
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
程序代码:
int main()
{ int a=10,b=11;
  int *p1,*p2,*temp;  //p1,p2,temp分别是地址,什么是地址,比如广东省xx市xx街xx号,这就是地址
  //假如a的地址是广东省xx市xx街1号,那么你可以在这个地址找到10这个数
  //假如b的地址是广东省xx市xx街2号,那么你可以在这个地址找到11这个数
  p1=&a;//把p1的地址改成a的地址
  p2=&b;//p2的地址改成b的地址
  temp=p1;//把temp的地址改成p1的地址
  p1=p2;//把p1的地址改成p2的地址
  p2=temp;//把p2的地址改成temp的地址,temp的地址是什么?根据上文即是p1的地址
   printf("p1=%d,p2=%d\n",*p1,*p2);
  printf("a=%d,b=%d\n",a,b);
  }


/images/2011/147787/2011051411021524.jpg" border="0" />
2010-05-18 20:00
莣忧
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-18 20:36
tance123
Rank: 2
等 级:论坛游民
帖 子:33
专家分:48
注 册:2009-7-31
收藏
得分:0 
很复杂啊
2010-05-18 20:42
莣忧
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-18 21:56
gaofaxian
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-4-8
收藏
得分:0 
喔…
2010-06-01 09:03
wq19840928
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-6-3
收藏
得分:0 
不错,讲解很正确
2010-06-03 16:33
快速回复:指针,,头痛,求解!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030305 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved