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