On prendra garde à ne pas confondre un pointeur (ptr) avec l'objet
qu'il pointe (*ptr). L'exemple suivant, qui n’a qu’un intérêt
pédagogique, illustre quelques manipulations courantes de pointeurs.
Exemple 79 : Jeu avec des pointeurs (cet exemple ne sert qu’à illustrer l’utilisation de *)
Il ne faut pas confondre les écritures suivantes :
– ptr1 = ptr2 est une affectation entre pointeurs : ptr1 et ptr2 contiennent désormais la même adresse (ils pointent sur la même variable) ;
– *ptr1 = *ptr2 copie le contenu de l'emplacement mémoire pointé par ptr2 dans celui pointé par ptr1. Les deux pointeurs ne contiennent pas les mêmes adresses ;
– *ptr1=0 met à 0 le contenu de l'adresse pointée par ptr1 ;
– ptr1=0 ou mieux ptr1=NULL signifie par convention que ptr1 ne pointe sur rien. Il est donc interdit de l’utiliser tant qu’il n’a pas reçu de valeur.