看板 C_and_CPP 關於我們 聯絡資訊
最近學到指標,但一直不是很清楚意思, int addr; int *addr; //data 意思是,指標可以在addr上做存取資料, 我想在 addr = 0xff 的位子上寫 data = 0x00 這行轉成程式就變成 *addr = 0x00 所以我在整個code中, 每個function都能知道變數的記憶體,就可以直接做存取? 不知這樣解讀是否正確 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.172.246.186 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1472228456.A.108.html
CaptainH: 現在os大多是virtual memory,換言之你拿到的不會是ram 08/27 00:32
CaptainH: 的physical address 08/27 00:32
Killercat: 記憶體不等於RAM 你要先有這概念 08/27 00:37
Killercat: 你可以說是「記憶體位置」但這位置不見得在RAM上 08/27 00:37
看來是我誤用了RAM的詞, 但主要功能就是這樣對吧? 無時無刻想要對哪一個addr上的data做改變,用指標就對了? ※ 編輯: hsucheng (1.172.246.186), 08/27/2016 00:59:39
LPH66: 概念上不能說錯, 但並不是任意哪裡都能給你隨便指 08/27 01:56
odsan: 亂指可能會指到非法的記憶體位址 很危險 08/28 14:48