© Éditions Eyrolles
169
chapitre n° 9
Les structures et les énumérations
3 Pour simplifier la déclaration de types : définir des synonymes
avec typedef
La déclaration typedef permet de définir ce que l’on nomme en langage C des types synonymes. A priori, elle s’applique à tous les types et pas seulement aux structures. C’est pourquoi
nous commencerons par l’introduire sur quelques exemples avant de montrer l’usage que l’on
peut en faire avec les structures.
3.1 Exemples d’utilisation de typedef
La déclaration :
typedef int entier ;
signifie que entier est synonyme de int, de sorte que les déclarations suivantes sont équivalentes :
int n, p ;
entier n, p ;
De même :
typedef int * ptr ;
signifie que ptr est synonyme de int *. Les déclarations suivantes sont équivalentes :
int * p1, * p2 ;
ptr p1, p2 ;
Notez bien que cette déclaration est plus puissante qu’une substitution telle qu’elle pourrait
être réalisée par la directive #define. Nous n’en ferons pas ici de description exhaustive, et
cela d’autant plus que son usage tend à disparaître. À titre indicatif, sachez, par exemple,
qu’avec la déclaration :
typedef int vecteur [3] ;
les déclarations suivantes sont équivalentes :
int v[3], w[3] ;
vecteur v, w ;
3.2 Application aux structures
En faisant usage de typedef, les déclarations des structures art1 et art2 du paragraphe 1
peuvent être réalisées comme suit :
struct enreg
{ int numero ;
int qte ;
float prix ;
} ;
Delannoy Livre.book Page 169 Mercredi, 6. mai 2009 4:26 16
Précédent

- 182/281

Suivant