首頁  >  文章  >  後端開發  >  解釋C語言中的Near、Far和Huge指針

解釋C語言中的Near、Far和Huge指針

WBOY
WBOY轉載
2023-09-14 15:13:021456瀏覽

解釋C語言中的Near、Far和Huge指針

根據記憶體模型和段,指標分為三種類型-

  • #近指標
  • #遠指標
  • #大指標

近指標

  • 是一個工作在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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除