返回信息流int main()
{
char a[]={'a','b','c','\0'};
int b[]={1,2,3};
cout<<a<<b;
return 0;
}
如果数组名是指针,那输出数组名不是应该输出地址吗,为什么输出数组a是abc,也就是数组a的内容,输出数组b是1的首地址。
求解
这是一条镜像帖。来源:北邮人论坛 / cpp / #84143同步于 2014/11/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[讨论][问题]数组名真的是指向首地址的指针吗
hzddm12340
2014/11/19镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
【 在 moonfighting 的大作中提到: 】
: 因为C++ 里把 << 重载了 ,你直接输出字符串名的话就话直接把整个字符串输出
: c的printf也是这样吗
发自「贵邮」
cout《(char*) 的话,输出的不是地址而是字符串内容,属c++重载特性,c中没有。 如果你改成cout《(int*)a;的话,输出的就是地址了。
【 在 hzddm12340 的大作中提到: 】
int main()
{
char a[]={'...
原来是这样
【 在 sxy0322 的大作中提到: 】
: cout《(char*) 的话,输出的不是地址而是字符串内容,属c++重载特性,c中没有。 如果你改成cout《(int*)a;的话,输出的就是地址了。
: 【 在 hzddm12340 的大作中提到
: .........
发自「贵邮」
哈哈,3q
【 在 zx723 的大作中提到: 】
: 你不去用cout输出它,它就是个地址。。。一输出就成了输出字符串
:
: 薛定谔的数组名。。。
:
发自「贵邮」
谢谢了!
【 在 moonfighting 的大作中提到: 】
: 因为C++ 里把 << 重载了 ,你直接输出字符串名的话就话直接把整个字符串输出