Heim  >  Artikel  >  Backend-Entwicklung  >  Erklären Sie Near-, Far- und Huge-Zeiger in der Sprache C

Erklären Sie Near-, Far- und Huge-Zeiger in der Sprache C

WBOY
WBOYnach vorne
2023-09-14 15:13:021527Durchsuche

Erklären Sie Near-, Far- und Huge-Zeiger in der Sprache C

Je nach Speichermodell und Segment werden Zeiger in drei Typen unterteilt:

  • Near-Zeiger
  • Far-Zeiger
  • Großer Zeiger

Near-Zeiger

  • ist einer, der innerhalb von 64 KB funktioniert Speicherdaten Segmentbereichszeiger.

  • Es kann nicht auf Adressen außerhalb dieses Datensegments zugegriffen werden.

  • Nahzeiger können mithilfe arithmetischer Operatoren für Adressbereiche erhöht oder verringert werden.

  • Mit dem Schlüsselwort near können wir jeden Zeiger zu einem Near-Zeiger machen.

Grammatik

Die Syntax lautet wie folgt:

<data type> near <pointer definition>
<data type> near <function definition>

Die folgende Anweisung deklariert den Near-Zeiger der Variablen s

char near *string;

Programm

Das folgende Programm zeigt die Verwendung des Near-Zeigers.

#include<stdio.h>
int main(){
   int number=50;
   int near* p;
   p=&number;
   printf("%d",sizeof(p));
   return 0;
}

Ausgabe

Die Ausgabe lautet wie folgt: -

2

Far-Zeiger

  • Es handelt sich um einen Zeiger, der verschiedene Offsets und Segmentadressen des Zeigers speichert.

  • Es hat Zugriff auf alle 16 Segmente.

  • Der Adressbereich des Fernzeigers beträgt 0 bis 1 MB.

  • Wenn der Zeiger erhöht oder verringert wird, ändert sich nur der Offset-Teil.

Grammatik

Die Syntax lautet wie folgt:

<data type> far <pointer definition>
<data type> far <function definition>

Die folgende Anweisung deklariert den Fernzeiger der Variablen s

char far *s;

Programm

Das folgende Programm zeigt die Verwendung des Fernzeigers.

#include<stdio.h>
int main(){
   int number=50;
   int far *p;
   p=&number;
   printf("%d",sizeof number);
   return 0;
}

Ausgabe

Die Ausgabe ist wie folgt:

4

Großer Zeiger

  • Es ist ein Zeiger mit ähnlicher Zeigergröße, da es sich bei beiden um 32-Bit-Adressen handelt.

  • Große Zeiger können erhöht werden, ohne dass sie durch Segmentarbeitsschleifen beeinträchtigt werden.

Programm

Das folgende Programm zeigt die Verwendung großer Zeiger.

#include<stdio.h>
Int main(){
   Char huge *far *ptr;
   Printf("%d%d%d",sizeof(ptr),sizeof(*ptr),sizeof(**ptr));
   Return 0;
}

Ausgabe

Die Ausgabe ist wie folgt -

4 4 1

Das obige ist der detaillierte Inhalt vonErklären Sie Near-, Far- und Huge-Zeiger in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen