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

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

char b[2]={'3','4'};
cout<<"b's address is :"<<b<<endl;
}
...全文
136 6 打赏 收藏 举报
写回复
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
  • 打赏
  • 举报
回复
数组名可以隐式转换为指向数组的第一个元素的指针
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-04-12 11:28
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下