Dans ce didacticiel, vous apprendrez à enum (énumération) dans la programmation C à l'aide d'exemples.
En programmation C, un type d'énumération (également appelé enum) est un type de données constitué de constantes intégrales. Pour définir les énumérations, le enum
mot-clé est utilisé.
indicateur enum (const1, const2,…, constN);
Par défaut, const1 vaut 0, const2 vaut 1 et ainsi de suite. Vous pouvez modifier les valeurs par défaut des éléments enum lors de la déclaration (si nécessaire).
// Modification des valeurs par défaut des constantes enum enum suit (club = 0, losanges = 10, coeurs = 20, piques = 3,);
Déclaration de type énuméré
Lorsque vous définissez un type d'énumération, le plan directeur de la variable est créé. Voici comment créer des variables de types enum.
enum boolean (faux, vrai); enum boolean check; // déclaration d'une variable enum
Ici, un contrôle de variable de type enum boolean
est créé.
Vous pouvez également déclarer des variables enum comme celle-ci.
enum boolean (faux, vrai) contrôle;
Ici, la valeur de false
est égale à 0 et la valeur de true
est égale à 1.
Exemple: type d'énumération
#include enum week (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); int main() ( // creating today variable of enum week type enum week today; today = Wednesday; printf("Day %d",today+1); return 0; )
Production
Jour 4
Pourquoi les énumérations sont-elles utilisées?
Une variable enum ne peut prendre qu'une seule valeur. Voici un exemple pour le démontrer,
#include enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; printf("Size of enum variable = %d bytes", sizeof(card)); return 0; )
Production
Taille de la variable d'énumération = 4 octets
Ici, nous obtenons 4 car la taille de int
est de 4 octets.
Cela fait enum un bon choix pour travailler avec des indicateurs.
Comment utiliser les énumérations pour les drapeaux?
Prenons un exemple,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Supposons que vous conceviez un bouton pour l'application Windows. Vous pouvez définir des indicateurs ITALICS, BOLD et UNDERLINE pour travailler avec du texte.
Il y a une raison pour laquelle toutes les constantes intégrales sont une puissance de 2 dans le pseudo-code ci-dessus.
// En binaire ITALIQUE = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Puisque les constantes intégrales sont une puissance de 2, vous pouvez combiner deux ou plusieurs indicateurs à la fois sans se chevaucher en utilisant OR | opérateur. Cela vous permet de choisir deux ou plusieurs indicateurs à la fois. Par exemple,
#include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; )
Production
5
Lorsque la sortie est 5, vous savez toujours que le gras et le soulignement sont utilisés.
En outre, vous pouvez ajouter des indicateurs en fonction de vos besoins.
if (myDesign & ITALICS) (// code pour l'italique)
Ici, nous avons ajouté des italiques à notre conception. Notez que seul le code pour l'italique est écrit à l'intérieur de l' if
instruction.
Vous pouvez accomplir presque n'importe quoi en programmation C sans utiliser d'énumérations. Cependant, ils peuvent être très utiles dans certaines situations.