近指標和遠指標

2021-08-16 12:41:50 字數 824 閱讀 6727

1.near指標的長度是16位的,所以可指向的位址範圍是64k位元組,通常說near指標的定址範圍是64k。

char near *p; 

p=(char near *)0xffff;

注意:此時若執行 p++,那麼p=0; 近指標如超過0xffff,會被復位到0;

2.遠指標

遠指標可以進行跨段定址,可以訪問整個記憶體的位址。如定義遠端指標p指向0x1000段的0x2號位址,即1000:0002,則可寫作:

char far *p; 

p=(char far *)0x10000002;

far指標的長度是32位,含有乙個16位的基位址和16位的偏移量,將基位址乘以16後再與偏移量相加,(所以實際上far指標是20位的長度。)即可得到far指標的1m位元組的偏移量。所以far指標的定址範圍是1m位元組,超過了乙個段64k的容量。例如乙個far指標的段位址為0x7000,偏移量為0x1244,則該指標指向位址0x71224.如果乙個far指標的段位址是0x7122,偏移量為0x0004,則該指標也指向位址0x71224。

如果沒有指定乙個指標是near或far,那麼預設是near。所以far指標要顯式指定。far指標工作起來要慢一些,因為每次訪問乙個far指標時,都要將資料段或程式段的資料交換出來。另外,far指標的運算也比較反常,例如上面講到的far指標指向同乙個位址,但是比較的結果卻不相同。

近指標 遠指標 巨指標

在我們的c c 學習生涯中 在我們大腦的印象裡,通常只有指標的概念,很少聽說指標還有遠 近 巨之分的,從沒聽說過什麼近指標 遠指標和巨指標。可以,某年某月的某一天,你突然看到這樣的語句 char near p 定義乙個字元型 近 指標 char far p 定義乙個字元型 遠 指標 char hug...

C C 中的近指令 遠指標和巨指標

c c 中的近指令 遠指標和巨指標 宋寶華 email 21cnbao 21cn.com sweek 在我們的c c 學習生涯中 在我們大腦的印象裡,通常只有指標的概念,很少聽說指標還有遠 近 巨之分的,從沒聽說過什麼近指標 遠指標和巨指標 飛鴿傳書 可以,某年某月的某一天,你突然看到這樣的語句 c...

C C 中的近指令 遠指標和巨指標

在我們的c c 學習生涯中 在我們大腦的印象裡,通常只有指標的概念,很少聽說指標還有遠 近 巨之分的,從沒聽說過什麼近指標 遠指標和巨指標。可以,某年某月的某一天,你突然看到這樣的語句 char near p 定義乙個字元型 近 指標 char far p 定義乙個字元型 遠 指標 char hug...