Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS C FAQs C TUTORIELS C LIVRES C COMPILATEURS C SOURCES GTK+
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
Responsable bénévole de la rubrique C : Arnaud Feltz (buchs) - Contacter par EMail :
Vos questions techniques : forum d'entraide C - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.