enum
type { idf [ = constante] [, ...] } ;
permet de définir une liste d'identificateurs dont chaque élément
est associé à la valeur d'une constante obligatoirement
entière : int.
Définition
des énumérations : enum
bool {faux = 0, vrai = 1} enum
direction { N, NW, W, SW, S, SE, E, NE } ; enum
symbole { ajouter = 'a', modifier = 'm', ...
Déclaration
des variables : enum
bool b ; enum
symbole s ;
Utilisation
: if
(b == faux) ... switch
(s) { modifier
: ...
Les énumérations
:
enum bool {faux = 0, vrai = 1} définit
le type enum bool constitué des deux identificateurs faux
et vrai ayant respectivement les valeurs entières 0
et 1.
enum direction { N, NW, W, SW, S, SE, E, NE } ; montre
qu'il n'est pas nécessaire de donner une valeur explicite à
chaque identificateur : les
constantes entières prennent les valeurs consécutives à
partir de 0; par exemple, N vaut 0, NW vaut 1,...
enum symbole { ajouter = 'a', modifier = 'm', supprimer = 's' } ; enum symbole s = getchar
() ; une
constante caractère est en fait de type int et peut être
utilisée dans une énumération, le caractère
'a' a pour valeur entière 97. La
fonction getchar ( ) retourne également une valeur de type
int.
#define est une directive
de compilation : #define TAILLE 10 #define PI 3.1415927 #define EOF -1 #define LF '\n' #define CHEMIN "/users/toto/projet/sys"
La directive #define est interprétée par le préprocesseur
C, c'est un mécanisme de substitution : toutes les occurences de
nom sont remplacées par le texteavant la
compilation.
Par convention
: le nom d'une macro-constante est en lettres majuscules.
La directive #define est également présentée
plus loin.