enum : définit un ensemble de constantes de types int
Mot réservé du langage C
Syntaxe:
enum [ <nom1> ] { <nom2> [ = <const> ], <nom3> ... };
Description:
Par l'intermédiaire de <nom1>, on donne un nom à l'ensemble des symboles <nom2> <nom3> ...
<nom2> est le nom d'une constante à laquelle on peut affecter, sans obligation, la valeur de <const>.
Dans le cas où <const> n 'est pas precisée, elle prend la valeur de la constante précédente de la liste augmentée de 1.
S'il s'agit de la première constante de la liste, la valeur par défaut est 0 .
Par exemple
- 1.
enum modes { bw40, c40, bw80, c80, mono = 7 };
/* on a bw40 <-> 0, c40 <-> 1, bw80 <-> 2, c80 <-> 3 . */
Toute variable déclarée d'un type énumératif pourra prendre une des valeurs assignées aux constantes.
La lecture ou l'écriture d'une variable de type enum n'a généralement pas de sens.
Exemple de variable:
- enum modes mod1;
- mod1 = c40; /* mod1 contient la valeur de la constante c40, c'est
dire 1 . */
- 2.
typedef enum { bleu, blanc, rouge} TCOULEURS;
définit le type TCOULEURS, et l'on peut déclarer une variable de ce type:
TCOULEURS coul;
Exemple:
#include
enum modes { lastmode = 1, bw40 = 0, c40, bw80, c80, mono = 7 };
int main(void) {
enum modes mod1;
mod1 = lastmode; printf(" lastmode=%d", mod1);
mod1 = bw40; printf(" bw40=%d", mod1);
mod1 = c40; printf(" c40=%d", mod1);
mod1 = bw80; printf(" bw80=%d", mod1);
mod1 = c80; printf(" c80=%d", mod1);
mod1 = mono; printf(" mono=%d", mod1);
if( mod1!=lastmode ) printf(" Différent\n");
return 0;
}