Next: Les unions
Up: Structures, unions et énumérations
Previous: Les champs de bits
Nous avons vu au paragraphe
1.10.2 que l'on pouvait déclarer
des constantes nommées de la manière suivante :
enum {LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE};
qui déclare les identificateurs
LUNDI,
MARDI, etc. comme
étant des constantes entières de valeur 0, 1, etc.
Ce qui n'avait pas été dit à ce moment là, c'est que les énumérations
fonctionnent syntaxiquement comme les structures : après le mot-clé
enum il peut y avoir un identificateur appelé
étiquette
d'énumération qui permettra plus loin dans le programme de déclarer des
variables de type énumération. Exemple :
enum jour {LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE};
enum jour j1, j2;
j1 = LUNDI;
j2 = MARDI;
L'exemple ci-dessus est conforme à ce qui nous semble être de bonnes règles
de programmation : déclarer d'abord le type énumération en lui donnant un
nom grâce à une étiquette d'énumération et ensuite utiliser ce nom pour
déclarer des variables. Cependant, comme pour les structures, le langage C
permet de déclarer des variables dans la déclaration du type énumération,
éventuellement en omettant l'étiquette d'énumération. Exemples :
enum jour {LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE} d1, d2;
déclare
d1 et
d2 comme étant des variable de type
enum jour,
enum {FAUX, VRAI} b1,b2;
déclare
b1 et
b2 comme étant des variables de type énumération sans
nom, dont les valeurs peuvent être
FAUX ou
VRAI.
Nous avons expliqué plus haut pourquoi un tel style de programmation nous
semblait mauvais.
Next: Les unions
Up: Structures, unions et énumérations
Previous: Les champs de bits
Bernard Cassagne
1998-12-09