[問題] 指標字串的問題

看板C_and_CPP作者 (GOGO)時間6年前 (2017/12/26 01:16), 編輯推噓4(403)
留言7則, 5人參與, 6年前最新討論串2/2 (看更多)
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

12/26 01:21, 6年前 , 1F
就是因為字元指標常常是字串, 所以 cout 一個字元指標時
12/26 01:21, 1F

12/26 01:22, 6年前 , 2F
會把它當成字串來印 (技術上這是由 operator << 定義的)
12/26 01:22, 2F

12/26 01:22, 6年前 , 3F
如果想要 cout 一個字元指標的位址可以轉型成 (void*)
12/26 01:22, 3F

12/26 07:18, 6年前 , 4F
感謝大大
12/26 07:18, 4F

12/26 18:32, 6年前 , 5F
這算是一個cout給的方便吧?
12/26 18:32, 5F

12/26 23:20, 6年前 , 6F
operator overloading
12/26 23:20, 6F

12/27 22:40, 6年前 , 7F
喔喔 沒特別注意這點 筆記
12/27 22:40, 7F
文章代碼(AID): #1QGJ9znC (C_and_CPP)
文章代碼(AID): #1QGJ9znC (C_and_CPP)