关于字符串地址的存储问题

abc277908375 2008-10-23 07:47:36
string a("xxxx");
char *p=&a[0];
cout<<p;//输出为什么是 xxxx

string a("xxxx");
char &p=a[0];
cout<<&p;//输出为什么是xxxx
我想问问 里面是怎么存储的!!!

如上 指针地址为什么是XXXX
引用地址也是XXXX!!!
里面怎么存储的!???
...全文
86 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
haggard_hunan 2008-10-23
  • 打赏
  • 举报
回复
string a("xxxx");
char *p=&a[0];
cout < <p;//输出为什么是 xxxx //char字针,遇到'/0'结束
string a("xxxx");
char &p=a[0];
cout < <&p;//输出为什么是xxxx //p是a[0]的引用,而&p也就相当于&a[0],对一个字符取&,也就相当于从字符内存地址处输出字符,直到遇见'/0'.
我想问问 里面是怎么存储的!!!
wwwypy 2008-10-23
  • 打赏
  • 举报
回复
我想是一个是指针,一个是引用,都指向的是字符串的首地址。
hyram 2008-10-23
  • 打赏
  • 举报
回复
并不是地址是xxxx,只是用cout<<输出的时候对地址进行了解析,输出了字符串。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧