far 是c/c++語言在16位系統中用以標明指標是個遠指標的修飾符,在32位系統已經廢除不用了。遠指標是說指標所指向的位址已經超出了64k(2的十六次方),所以需要使用ds加偏移量的方法來定址,而不能直接定址。其反義的修飾符是near,舉例:
int far *fptr;
fptr=(int far*)0xb0000000;
16位pc機的儲存器位址是由段位址和偏移位址組合而成,每一段不能超過64k位元組位址,因而同乙個段內的位址訪問,用偏移位址就可以實現,因段位址暫存器所存的段位址是不變的。當用指標時,只16位就夠了,這一類就是near指標。當要在另乙個段內取資料,就要跨越段,即要指明訪問段的段位址和偏移位址,這時段位址暫存器所存段位址要改變,在使用指標指向另乙個段內位址時,就要用32位表示,就是far指標了。由此可見,如果你想寫在win16上也能執行的程式,才會涉及到newr、far指標的概念。在win32上,指標已無near、far的區分。
near指標,far指標,huge指標
near指標和far指標 在dos下 實模式 位址是分段的,每一段的長度為64k位元組,剛好是16位 二進位制的十六位 near指標的長度是16位的,所以可指向的位址範圍是64k位元組,通常說near指標的定址範圍是64k。far指標的長度是32位,含有乙個16位的基位址和16位的偏移量,將基位址乘...
near指標,far指標,huge指標
near指標和far指標 在dos下 實模式 位址是分段的,每一段的長度為64k位元組,剛好是16位 二進位制的十六位 near指標的長度是16位的,所以可指向的位址範圍是64k位元組,通常說near指標的定址範圍是64k。far指標的長度是32位,含有乙個16位的基位址和16位的偏移量,將基位址乘...
near指標,far指標,huge指標
near 指標和far 指標 在dos 下 實模式 位址是分段的,每一段的長度為64k 位元組,剛好是16 位 二進位制的十六位 near 指標的長度是16 位的,所以可指向的位址範圍是64k 位元組,通常說near 指標的定址範圍是64k far 指標的長度是32 位,含有乙個16 位的基位址和1...