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...