Next: Pointeurs
et structures Up: Les
pointeurs Previous: Libération
de mémoire -
Les noms de variables de type tableau ont un statut particulier en C++ : ils représentent l'adresse du premier élément du tableau, et ce sans qu'il soit besoin d'avoir recours à l'opérateur & .
Remarque : on peut déduire de ce qui précède que les expressions Mot (dans l'exemple ci-dessous) et &(Mot[0]) sont équivalentes.
Il est donc possible d'utiliser le nom d'une variable de type tableau exactement comme une constante de type pointeur, comme le montre l'exemple suivant :
Il est important de préciser que l'incrémentation ou la décrémentation d'une variable de type pointeur (P++, P=P-2, etc) n'agit pas sur le pointeur en qualité de nombre entier (une adresse est en effet, somme toute, un nombre entier), mais bien en sa qualité d'adresse d'un objet possédant une taille précisée par son type.
Par exemple, incrémenter d'une unité une variable de type pointeur de flottant conduit à rajouter à l'adresse contenue dans la variable le nombre d'octets composant un flottant (huit pour le type double dans notre environnement). Cette opération peut donc être vue logiquement comme le ``passage au flottant suivant''.
Note: dans l'exemple précédent, le paramètre Mot ne doit pas, logiquement, être passé par référence, car il représente l'adresse du premier élément du tableau ; or cette adresse ne doit pas être modifiée par la fonction.