13.1.1 Définition d'un pointeur

Icône de l'outil pédagogique Définition d'un pointeur

Considérons la définition : short int n = 3 ;

n représente une variable du type entier, c'est‐à‐dire une adresse en mémoire dont le contenu est un entier de valeur 3. Cette définition a pour but de demander au compilateur/linker de réserver un emplacement mémoire, à une certaine adresse, pour la variable n.

 

Le contenu d'une variable peut être un entier, un réel, un caractère. Mais, c’est nouveau, ce contenu peut aussi être une adresse. Considérons les définitions suivantes :

short int* AdrEntier ;
double* AdrReel ; ou double *AdrReel ;

Cette écriture short int* signifie que AdrEntier est une variable dont le contenu est l'adresse d'une variable entière, tandis que AdrReel contient l'adresse d'une variable réelle.

On dit que AdrEntier est un pointeur sur un entier et AdrReel un pointeur sur un réel.

Ces définitions réservent la place mémoire nécessaire pour écrire deux adresses (une dans AdrEntier, l'autre dans AdrReel), mais elles ne réservent pas de place en mémoire pour les variables pointées (qui doivent être allouées séparément). De plus, AdrEntier et AdrReel, comme toute variable, ne sont pas initialisées a priori.