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