C enum (énumération)

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 enummot-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 booleanest créé.

Vous pouvez également déclarer des variables enum comme celle-ci.

 enum boolean (faux, vrai) contrôle; 

Ici, la valeur de falseest égale à 0 et la valeur de trueest é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 intest 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' ifinstruction.

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.

Articles intéressants...