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

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

WBOY
發布: 2023-09-14 15:13:02
轉載
1538 人瀏覽過

解釋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
登入後複製

遠指針

  • 它是一個指針,儲存著指針不同的偏移量和段位址。

  • < li>

    它可以存取所有 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板