c/c++中near和far的區別
關鍵字near
和far
受目標計算機體系結構的影響。目前程式設計中使用不多。
near
關鍵字建立乙個指向可定址記憶體低端部分的目標指標。這些指標占用記憶體的單一位元組,並且他們能夠指向的記憶體單元被限制到
256個位置,通常是在0x0000~0x00ff範圍中。
int near * ptr
;far
關鍵字建立乙個能夠指向記憶體中任何資料的指標:
char far * ptr
; near (近)
指標:16
位段內偏移位址
far(遠)
指標:16
位段位址+
16位段內偏移位址
huge(巨)
指標:32
位規格化的具有唯一性的記憶體位址
c語言的存貯屬性由六種編譯模式決定(參見
tc整合環境選單中的
option->compiler->model選項)
,預設的編譯模式為 small,
在該編譯模式下,指標的預設屬性為
near
。補充:near指標是16位指標,依賴乙個段位址暫存器,指標變數就是位移量,利用段位址暫存器+指標來定址,所以有64k之限制。
far
指標是32
位指標,不但有
16位的位移量,還有
16位的段位址,但此指標有個缺陷,增量時只加到位移部分,一旦
16位的位移量超過了
ffff
就會回到這個段位址的初始。
所以,又引入了
huge
指標,huge
指標與far
一樣,其區別僅在於使用了標準化的方法來表示,這樣所有的位址都有乙個唯一的表示方法,從而避免了far指標的問題。
空指標規定了一種指標狀態,如果沒有這個空指標,就如數字沒有了0。
C C 中near和far的區別
c 中far,near區別 雪后de陽光 c c 中near和far的區別 關鍵字near 和far 受目標計算機體系結構的影響。目前程式設計中使用不多。near 關鍵字建立乙個指向可定址記憶體低端部分的目標指標。這些指標占用記憶體的單一位元組,並且他們能夠指向的記憶體單元被限制到 256個位置,通...
C C 中near和far的區別
關鍵字near和far受目標計算機體系結構的影響。目前程式設計中使用不多。near關鍵字建立乙個指向可定址記憶體低端部分的目標指標。這些指標占用記憶體的單一位元組,並且他們能夠指向的記憶體單元被限制到256個位置,通常是在 0x0000 0x00ff範圍中。int near ptr far關鍵字建立...
C C 中near和far關鍵字的區別
c c 中near和far的區別 關鍵字near和far受目標計算機體系結構的影響。目前程式設計中使用不多。near關鍵字建立乙個指向可定址記憶體低端部分的目標指標。這些指標占用記憶體的單一位元組,並且他們能夠指向的記憶體單元被限制到256個位置,通常是在0x0000 0x00ff範圍中。int n...