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

WBOY
Libérer: 2023-09-14 15:13:02
avant
1579 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!

source:tutorialspoint.com
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