Maison > développement back-end > C++ > Expliquer les pointeurs Near, Far et Huge en langage C

Expliquer les pointeurs Near, Far et Huge en langage C

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-09-14 15:13:02
avant
1664 Les gens l'ont consulté

Expliquer les pointeurs Near, Far et Huge en langage C

Selon le modèle et le segment de mémoire, les pointeurs sont divisés en trois types -

  • pointeur proche
  • pointeur lointain
  • grand pointeur

pointeur proche

  • fonctionne avec les données de mémoire de 64 Ko pointeur de plage de segments.

  • Il ne peut pas accéder aux adresses au-delà de ce segment de données.

  • Les pointeurs proches peuvent être incrémentés ou décrémentés à l'aide d'opérateurs arithmétiques de plage d'adresses.

  • En utilisant le mot-clé proche, nous pouvons faire de n'importe quel pointeur un pointeur proche.

Grammaire

La syntaxe est la suivante -

<data type> near <pointer definition>
<data type> near <function definition>
Copier après la connexion

L'instruction suivante déclare le pointeur proche de la variable s

char near *string;
Copier après la connexion

Programme

Le programme suivant montre l'utilisation du pointeur proche.

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

Sortie

La sortie est la suivante -

2
Copier après la connexion

Pointeur lointain

  • C'est un pointeur qui stocke différents décalages et adresses de segment du pointeur.

  • < li>

    Il a accès aux 16 segments.

  • La plage d'adresses du pointeur lointain est comprise entre 0 et 1 Mo.

  • Lorsque le pointeur est incrémenté ou décrémenté, seule la partie décalée change.

Grammaire

La syntaxe est la suivante -

<data type> far <pointer definition>
<data type> far <function definition>
Copier après la connexion

L'instruction suivante déclare le pointeur lointain de la variable s

char far *s;
Copier après la connexion

Programme

Le programme suivant montre l'utilisation du pointeur lointain.

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

Sortie

La sortie est la suivante -

4
Copier après la connexion

Grand pointeur

  • C'est un pointeur de taille similaire en ce qui concerne le pointeur car les deux sont des adresses 32 bits.

  • Les grands pointeurs peuvent être incrémentés sans être affectés par les boucles de travail des segments.

Programme

Le programme suivant montre l'utilisation de grands pointeurs.

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

Sortie

La sortie est la suivante -

4 4 1
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal