[問題] 字串指標內容
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
dev_C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
char *a="abc" a的內容是啥? 堆疊空間的位址?還是"abc"?
餵入的資料(Input):
預期的正確結果(Expected Output):
a=0x00FFABC
錯誤結果(Wrong Output):
"abc"
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
除錯:
(1)int *ptr符合指標原則
http://codepad.org/XcwhwwwL
*額外發現陣列名稱d[]={9,2}會指向自己
假設&d的位址是 0x000001 ,d則是0x000001,那9到底儲存在哪呢?指標有兩個儲存空間?
(2)char b[]="abc"
http://codepad.org/wJRh0cqj
*發現&b[0]指向0x28ff3C,但是將&b[0]用printf("%s")輸出會是abc
*猜測%s接受的是位址,會從0x28ff3C位址一直讀到\0結束,而不是把0x28ff3c轉成字串
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.8.99
※ 編輯: kingofsdtw 來自: 122.117.8.99 (05/05 16:38)
→
05/05 16:40, , 1F
05/05 16:40, 1F
→
05/05 16:40, , 2F
05/05 16:40, 2F
→
05/05 16:41, , 3F
05/05 16:41, 3F
d 0x000001->0x0000001了..數據9到底在哪呢>_<..混淆中
※ 編輯: kingofsdtw 來自: 122.117.8.99 (05/05 16:44)
→
05/05 16:43, , 4F
05/05 16:43, 4F
→
05/05 16:44, , 5F
05/05 16:44, 5F
→
05/05 16:51, , 6F
05/05 16:51, 6F
→
05/05 16:52, , 7F
05/05 16:52, 7F
→
05/05 16:52, , 8F
05/05 16:52, 8F
→
05/05 16:55, , 9F
05/05 16:55, 9F
→
05/05 16:56, , 10F
05/05 16:56, 10F
→
05/05 16:57, , 11F
05/05 16:57, 11F
→
05/05 16:57, , 12F
05/05 16:57, 12F
→
05/05 16:57, , 13F
05/05 16:57, 13F
→
05/05 16:58, , 14F
05/05 16:58, 14F
討論串 (同標題文章)