Accès à la variable pointée

Lorsqu'on accède à la variable pointée par un pointeur, on parle de dé-référencement du pointeur. Pour dé-référencer un pointeur, on utilise la syntaxe suivante :

  *pointeur = 4 ;

Cette instruction affecte la valeur 42 à la variable pointée par pointeur. Une fois le dé-référencement appliqué (*pointeur) sur un pointeur d'un type quelconque T, nous obtenons une expression de type T qui peut être utilisée comme toute autre expression, c'est-à-dire soit pour affectation, soit pour évaluer une expression.

Le dé-référencement peut mener à 2 erreurs courantes :

  • Le dé-référencement d'une valeur erronée du pointeur (typiquement, un pointeur dont la valeur n'est pas initialisée),

  • Le dé-référencement d'un pointeur de valeur NULL.

ConseilConséquence

  • Il faut toujours veiller à initialiser correctement les pointeurs et maintenir leur valeur à jour. Dès que la mémoire pointée n'existe plus (c.-à-d. elle est désallouée), il faut réaffecter la valeur NULL au pointeur.

  • Le dé-référencement d'un pointeur sera précédé d'un test de validité (pt !=NULL) lorsque la validité de sa valeur ne sera pas certaine.