PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 字串阵列地址问题
楼主:
anoymouse
(没有暱称)
2015-04-11 14:26:21
char d[15]="my friend";
cout<<d; //会印出my friend
cout<<&d;//印出d的起始位址
int b[3]={1,2,3};
cout<<b //印出b的起始位址
cout<<&b//印出b的起始位址
请问为什么cout<<d 不会变成印出d的起始位址?
作者:
bibo9901
(function(){})()
2015-04-11 14:37:00
因为 cout 对 const char * 有特别处理
作者:
dirkc
(3781615)
2015-04-11 17:21:00
喜欢的话也可以自己重载<<运算子,像这样:ostream &operator<<(ostream &out,char const *x) {return(out<<(void*)x);}
楼主:
anoymouse
(没有暱称)
2015-04-11 18:52:00
那为什么我打cout<<&(b+1)会编译错误?
作者:
bibo9901
(function(){})()
2015-04-11 22:57:00
b+1 是个暂时的结果, 是不能取址的 (他很可能跟本不在内存里面)
楼主:
anoymouse
(没有暱称)
2015-04-12 00:39:00
那要如何取b[1]的位址?
作者:
LPH66
(-6.2598534e+18f)
2015-04-12 01:18:00
直接 &b[1]
楼主:
anoymouse
(没有暱称)
2015-04-12 15:23:00
会显示y friend
作者:
bibo9901
(function(){})()
2015-04-12 21:54:00
(void) &b[1]推太快... 更正 (void*) &b[1]
继续阅读
Re: [问题] 小型视窗程式开发的选择
KILLE
[问题] io运算太大怎么办?
g318
[问题] Control has no parent window
noodleT
[问题] 小型视窗程式开发的选择
chrisos
[赠书] 多本 C C++书籍
Angil
[问题] C语言与正规表示式?
iWRZ
[问题] 变量值没有被更动到? (已经解决)
laiDark
[问题] Open CV取面积
s20394
[问题] 突然回来写C的时候发现的鬼打墙问题
neverchoose
[问题] copy constructor和deconstructor的问题
sam210125
Links
booklink
Contact Us: admin [ a t ] ucptt.com