Vous êtes sur la page 1sur 4

Les pointeurs

2 Notion de pointeur

int n=5;
5

n indique au compilateur une adresse en mémoire dont le contenu est un entier de


valeur 5.

Le contenu d’une variable peut être un caractère, un entier, ou un réel mais il peut
aussi contenir une adresse.
3 Notion de pointeur

int * pointeEntier; Adresse d’une Adresse d’une


float * pointeReel; case contenant case contenant
un entier un réel
pointeEntier pointeReel

 Il est possible d’avoir un pointeur sur n’importe quel type de variables.


 Le symbole * est un opérateur unaire diffèrent du symbole de multiplication.
 Ces déclarations réservent la case mémoire mais elles ne déclarent pas les variables
correspondantes.
 En plus, les variables déclarés ne sont pas encore initialisées.

4 Arithmétique des pointeurs

 Incrémentation et décrémentation de pointeurs


Les opérations sur les pointeurs sont à employer avec beaucoup de
précautions. Une erreur peut entraîner des écritures n’importe où en
mémoire.
float *ptr; // Déclaration du pointeur
ptr++; // Incrémentation d’une case, i.e de 4 octets.
5 Arithmétique des pointeurs

 Addition et soustraction
Elles ne sont possibles qu’avec des entiers. Mais, tout
comme l’incrémentation, l’unité de compte n’est pas l’octet
mais la taille de l’élément.
long *ptrL;
float *ptrR;

ptrL+=2; // ptrL est augmenté de 2 entiers longs, c a d


de 8 octets
ptrR-=2; // ptrR est diminué de 2 réels , c a d de 8 octets
Remarque :L’addition ou la soustraction de deux pointeurs n’a pas de
sens.

6 Arithmétique des pointeurs

 Comparaison

Il s’agit en fait de réaliser la soustraction de deux pointeurs à


comparer et de conclure en fonction du signe ou de la valeur nulle du
résultat. Les règles appliquées à cette opération sont donc les mêmes
pour l’addition et la soustraction.
7 Arithmétique des pointeurs

 Multiplication et division

Ces opérations n’ont pas de sens et sont rejetées par le compilateur.

8 Application aux passages de


paramètres

 Le passage de paramètres est, sans conteste, une des sources


principales d’utilisation des pointeurs. En effet, le passage de
paramètres par valeur empêche de modifier les variables de
départ. Il est maintenant possible d’apporter une solution grâce
aux pointeurs

Vous aimerez peut-être aussi