数组名代表首地址吗?怎么输出的不是地址值呢?

chengunfu 2008-04-12 11:28:09
#include<iostream.h>
void main()
{

char b[2]={'3','4'};
cout<<"b's address is :"<<b<<endl;
}
...全文
142 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jieao111 2008-04-12
  • 打赏
  • 举报
回复
各大高手都来了。。飘过~
chengunfu 2008-04-12
  • 打赏
  • 举报
回复
输出的怎么不是地址呢
HelloDan 2008-04-12
  • 打赏
  • 举报
回复

//你试一下吧。
#include<iostream>


using namespace std;


int main()
{
char b[2]={'3','4'};
cout <<"b's address is :" <<b<<endl;

printf("\n%s\n",b);
cout <<"b's address is :" <<(int)b<<endl;
printf("\n%d\n",b);
printf("\n%x\n",b);

system("pause");
return 0;
}

baihacker 2008-04-12
  • 打赏
  • 举报
回复
数组名也一样,详细情况参考C++标准:
Conversion:Array-to-Pointer conversion
Category:Lvalue Transformation
Rank:Exact Match
Subclause:4.2
HelloDan 2008-04-12
  • 打赏
  • 举报
回复
上面的是解释为字符串了。
baihacker 2008-04-12
  • 打赏
  • 举报
回复
数组名可以隐式转换为指向数组的第一个元素的指针

64,651

社区成员

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

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