Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C

Choisissez la catégorie, puis la rubrique :

next up previous contents index
Next: Exercice Up: Les pointeurs Previous: Opérateur adresse de

Sous-sections

Opérateur d'indirection

 

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   */

Remarque

  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

Devinette

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
Contacter le responsable de la rubrique C

Partenaire : Hébergement Web