Next: Exercice
Up: Les pointeurs
Previous: Opérateur adresse de
Sous-sections
Lorsque l'opérateur *
est utilisé en opérateur préfixé, il agit
de l'opérateur indirection qui, appliqué à
une valeur de type pointeur, délivre la valeur pointée.
On peut écrire par exemple :
int i;
int *pi;
pi = &i; /* initialisation du pointeur pi */
*pi = 2; /* initialisation de la valeur pointée par pi */
j = *pi + 1; /* une utilisation de la valeur pointée par pi */
L'opérateur
* est surchargé : il peut être opérateur
de multiplication ou opérateur d'indirection. La grammaire lève
l'ambiguïté car l'opérateur d'indirection est préfixé, alors que l'opérateur
de multiplication est infixé. Surcharger les opérateurs gêne la lisibilité
des programmes. Exemple : si
i et
j sont des pointeurs vers des
entier, la multiplication des deux valeurs pointées s'écrit :
*i**j
Si
i et
j sont des pointeurs vers des entiers,
*i**j est
le produit des valeurs pointées, mais
*i/*j est-il le quotient des
valeurs pointées ?
Réponse à la fin de ce chapitre.
Bernard Cassagne
1998-12-09