→ azureblaze: cout << (void*)p << endl; 05/18 21:05
→ azureblaze: 因為char*同時也可是字串,所以iostream自作聰明 05/18 21:06
→ RealJack: 感謝樓上! 05/18 21:18
→ MOONRAKER: 阿不然你想 p="c" 後 cout << p會跑出什麼 05/18 21:19
→ RealJack: 我認為應該印出指向'c'的位址,像是0x5c1450 05/18 23:25
→ RealJack: 但我忘了char *是C式字串,會從指到的位址一直印到'\0' 05/18 23:27
→ dritchie: 好危險的寫法... 05/19 00:31
→ MOONRAKER: 是阿,char *當字串印出,這是規定的 05/19 07:38
→ dirkc: 危險地方應是在於s1如果賦值或修改後,p可能指向無效位址 05/23 00:32
→ RealJack: 樓上意思是賦予超過s1分配空間的字串,會重新分配空間 05/24 14:36
→ RealJack: p指的位置就不是s1新分配空間的位置,是這個意思嗎? 05/24 14:37