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.
Conseil : Consé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.