Heim > Backend-Entwicklung > C++ > 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
Freigeben: 2023-09-14 15:13:02
nach vorne
1577 Leute haben es durchsucht

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>
Nach dem Login kopieren

Die folgende Anweisung deklariert den Near-Zeiger der Variablen s

char near *string;
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe

Die Ausgabe lautet wie folgt: -

2
Nach dem Login kopieren

Far-Zeiger

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

  • < li>

    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>
Nach dem Login kopieren

Die folgende Anweisung deklariert den Fernzeiger der Variablen s

char far *s;
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe

Die Ausgabe ist wie folgt:

4
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe

Die Ausgabe ist wie folgt -

4 4 1
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage