根據記憶體模型和段,指標分為三種類型-
是一個工作在64Kb記憶體資料段範圍內的指標。
它無法存取超出該資料段的位址。
近指標可以透過使用來遞增或遞減位址範圍算術運算子。
使用關鍵字near,我們可以將任何指標設為near 指標。
語法如下-
<data type> near <pointer definition> <data type> near <function definition>
以下語句宣告變數s 的近指標
char near *string;
#以下程式展示了近指標的用法。
#include<stdio.h> int main(){ int number=50; int near* p; p=&number; printf("%d",sizeof(p)); return 0; }
輸出如下-
2
它是一個指針,儲存著指針不同的偏移量和段位址。
它可以存取所有 16 個段落。
遠指標位址範圍為 0 到 1MB。
當指標遞增或遞減時,只有偏移量部分會改變。
語法如下-
<data type> far <pointer definition> <data type> far <function definition>
以下語句宣告變數s 的遠指標
char far *s;
#下面的程式展示了遠指標的用法。
#include<stdio.h> int main(){ int number=50; int far *p; p=&number; printf("%d",sizeof number); return 0; }
輸出如下-
4
它是一個大小與遠指標類似的指針,因為兩者都是32位元位址。
大指標可以遞增,而不會受到段工作循環的影響。
以下程式顯示大指標的使用。
#include<stdio.h> Int main(){ Char huge *far *ptr; Printf("%d%d%d",sizeof(ptr),sizeof(*ptr),sizeof(**ptr)); Return 0; }
輸出如下 -
4 4 1
以上是解釋C語言中的Near、Far和Huge指針的詳細內容。更多資訊請關注PHP中文網其他相關文章!