标题:指针问题
只看楼主
weilin010
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-3-14
 问题点数:0 回复次数:4 
指针问题

char*a="hello";
char*b;
b=a;
cout<<&a<<" "<<&(*b);
getchar();
return 0;
初学,有个问题弄不名白:
大家谁能解释一下为什么&a输出1245064而&(*b)输出hello啊!
谢了.

搜索更多相关主题的帖子: 指针 
2007-03-22 09:00
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 

a是指针,但他本身也是一个变量,&a是a的地址.
*b是'h',&(*b)是h的地址,也就是b的值,cout<<&(*b);等价于cout<<b;
你可能是不小心看错了。


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-22 09:40
weilin010
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-3-14
得分:0 

这个问题我也问过别人,他也是说cout<<&(*b);等价于cout<<b;
但是他解释的我没听懂...
他告诉我如果编程就不去管它了!
没有用.
总之谢谢你了!

2007-04-05 08:29
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 
cout<<&(*b);等价于cout<<b;
因为
char a='a';
char *b=&a;
b是一个指针,指向一个物理地址(&a)
*b就代表那个地址的值a。
&(*b)就是&a.
而b==&a;
所以&(*b)就是b.

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-04-05 10:02
weilin010
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-3-14
得分:0 

明白了
谢谢了!!!

2007-04-13 10:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-125776-1-1.html




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

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