看板 C_and_CPP 關於我們 聯絡資訊
Visual studio 2015 問題(Question): 各位大大好 最近遇到指標字串的問題 Char *p=“hello”; 認知p是指向記憶體中’h’的位址 (也就是這個字串的起始位址) 但是當我cout<< p;時 卻是顯示hello 而不是0x....(位址) 還有一種是某某->p的時候也是輸出hello 不是位址 (程式有點多 如果妨礙回答可以忽略這個情況) 然後用printf(“%s”,p); 可顯示hello 應該是因為%s吧 若要得位址%p 想問為何(前二者)不是輸出位址 謝謝大大! 若有遺漏部分 敬請指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.169.123 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1514222205.A.C4C.html
LPH66: 就是因為字元指標常常是字串, 所以 cout 一個字元指標時 12/26 01:21
LPH66: 會把它當成字串來印 (技術上這是由 operator << 定義的) 12/26 01:22
LPH66: 如果想要 cout 一個字元指標的位址可以轉型成 (void*) 12/26 01:22
davidzxcv: 感謝大大 12/26 07:18
james732: 這算是一個cout給的方便吧? 12/26 18:32
s25g5d4: operator overloading 12/26 23:20
TitanEric: 喔喔 沒特別注意這點 筆記 12/27 22:40