Enums en français
Qu'est-ce qu'un Enum ?
En C, un enum, ou énumération, est un type de données défini par l'utilisateur. Il permet d'associer des noms à des constantes entières, ce qui rend le code plus lisible et plus facile à maintenir. La déclaration d'un enum se fait à l'aide du mot-clé enum
.
Syntaxe des Enums
La structure de base pour définir un enum est la suivante :
enum nom {
membre1 = ,
membre2,
membre3,
...
membreN
};
Chaque membre de l'enum peut avoir une constante entière définie (comme 0, 10, 2) ou simplement utiliser le nom du membre.
Exemples d'utilisation des Enums
Considérons un exemple simple où nous n'assignons pas de valeurs explicites aux membres de l'enum jour
. Dans ce cas, le compilateur attribue par défaut des valeurs qui commencent à 0. Par exemple, dimanche
obtiendra la valeur 0, lundi
la valeur 1, et ainsi de suite.
#include
enum fruits {pomme, orange, banane, peche, raisin};
int main() {
enum fruits d = banane;
printf("Le numéro du fruit stocké dans d est %d", d);
return 0;
}
La sortie de cet exemple sera : Le numéro du fruit stocké dans d est 2
Un autre fait intéressant est que deux membres d'un enum peuvent avoir la même valeur. Par exemple, dans l'enum ci-dessous, En_Cours
et En_Execution
sont tous les deux égaux à 1.
#include
enum Etat {A_Faire = 0, En_Cours = 1, En_Execution = 1};
int main() {
printf("%d, %d, %d", A_Faire, En_Cours, En_Execution);
return 0;
}
La sortie sera : 0, 1, 1
De plus, nous pouvons attribuer des valeurs à des membres de l'enum dans n'importe quel ordre. Les membres non assignés recevront la valeur du membre précédent augmentée de un.
#include
enum jour {dimanche = 1, lundi, mardi = 20, mercredi, jeudi = 10, vendredi, samedi};
int main() {
printf("%d %d %d %d %d %d %d", dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi);
return 0;
}
Cela produira la sortie suivante : 1 2 20 21 10 11 12
Note: Il est important de se rappeler que toutes les constantes d'un enum doivent être uniques dans leur portée.