[問題] 常數到底有沒有佔記憶體位置 by C

看板C_and_CPP作者 (匿名的好友)時間15年前 (2010/07/22 07:26), 編輯推噓3(309)
留言12則, 9人參與, 最新討論串1/2 (看更多)
如果有的話 要怎麼利用程式表示出來? 請教各位高手 補個東西: int *ptr=0; 請問 "0" 到底是 "" 還是 "記憶體位址" ??? 我們老師說是 (私心認為: 0 指的是位址 Orz) ptr ----> "0"的記憶體位址 指向 所以我才會困惑...常數到底有沒有記憶體位址 ?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.9.209

07/22 15:34, , 1F
有佔 放在Data區
07/22 15:34, 1F

07/22 16:01, , 2F
應該是data 區段有分唯讀data區 跟 跟可讀寫, 這邊是唯讀
07/22 16:01, 2F

07/22 17:57, , 3F
不一定 要視 compiler optimization 的情況
07/22 17:57, 3F

07/22 19:26, , 4F
有的只用到暫存器
07/22 19:26, 4F
※ 編輯: rick 來自: 220.136.189.155 (07/22 23:48)

07/22 23:57, , 5F
記憶體位址也只是一個值而已
07/22 23:57, 5F

07/22 23:58, , 6F
0是值還是位址, 是看你從什麼觀點去看吧??
07/22 23:58, 6F

07/22 23:58, , 7F
對compiler來說, 你只是把 0 這個 值 放進ptr變數去;
07/22 23:58, 7F

07/22 23:59, , 8F
對你來說, ptr是個指標變數, 記錄了 0 這個 位址 @_@"
07/22 23:59, 8F

07/23 06:40, , 9F
嗯 照這樣講 都通 @_@ 無解 Orz
07/23 06:40, 9F

07/23 11:37, , 10F
無解是因為 你沒先定義出什麼叫"值"什麼叫"位址"
07/23 11:37, 10F

07/27 00:47, , 11F
其實我也很想知道耶,如果定義Physical和logical addr.才叫
07/27 00:47, 11F

07/27 00:49, , 12F
位址,存在實體記憶體內的東西叫值(可揮發),那0就算是值囉?
07/27 00:49, 12F
文章代碼(AID): #1CH_AWRJ (C_and_CPP)
文章代碼(AID): #1CH_AWRJ (C_and_CPP)