English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C语言枚举(enum)

Dans ce tutoriel, vous apprendrez à utiliser enum (枚举) dans le langage de programmation C à l'aide d'exemples.

Dans le langage de programmation C, le type enum (également appelé enum) est un type de données composé de constantes entières. Pour définir un enum, vous utiliserez la clause enum.

enum flag {const1, const2, ..., constN};

Par défaut const1Pour 0, const2Pour1En conséquence. Vous pouvez modifier la valeur par défaut des éléments enum pendant la déclaration (si nécessaire).

//Modifier la valeur par défaut des constantes enum
enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3,
};

Déclaration de type enum

Lors de la définition d'un type enum, un plan de variable est créé. Voici comment créer une variable de type enum.

enum boolean {false, true};
enum boolean check; // Déclarer une variable enum

Ici, on créera une variable de type enum boolean appelée check.

Vous pouvez également déclarer des variables d'énumération de cette manière.

enum boolean {false, true} check;

Ici, la valeur de false est égale à 0, la valeur de true est égale à1.

Exemple : type d'énumération

#include <stdio.h>
enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
int main()
{
    //Créer une variable today de type énumération week
    enum week today;
    today = Wednesday;
    printf("Day %d", today+1);
    return 0;
}

Résultat de la sortie

Day 4

Pourquoi utiliser des énumérations ?

Les variables d'énumération ne peuvent prendre qu'une seule valeur. Voici un exemple de démonstration,

#include <stdio.h>
enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3
} card;
int main() 
{
    card = club;
	printf("La taille de l'énumération variable = %d bytes", sizeof(card));	
	return 0;
}

Résultat de la sortie

La taille de l'énumération variable = 4 bytes

Ici, nous obtenons4parce que la taille de int est4octets.

Comment utiliser l'énumération pour les icônes ?

Laissons nous donner un exemple

enum designFlags {
	ITALICS = 1,
	BOLD = 2,
	UNDERLINE = 4
} bouton;

Supposons que vous concevez un bouton pour une application Windows. Vous pouvez définir les icônes ITALICS, BOLD et UNDERLINE pour traiter le texte.

Dans le code pseudocode ci-dessus, toutes les constantes intégrales sont2La raison en est.

//en binaire
ITALICS = 00000001
BOLD = 00000010
UNDERLINE = 00000100

En raison de la constante intégrale2puissance, ce qui permet de combiner deux ou plusieurs icônes en une seule fois sans utiliserpar OR binaire |Les opérateurs de surcharge permettent de sélectionner deux ou plusieurs icônes à la fois. Par exemple,

#include <stdio.h>
enum designFlags {
	BOLD = 1,
	ITALICS = 2,
	UNDERLINE = 4
};
int main() {
	int myDesign = BOLD | UNDERLINE; 
        //    00000001
        //  | 00000100
        //  ___________
        //    00000101
	printf("%d", myDesign);
	return 0;
}

Résultat de la sortie

5

Lorsque la sortie est5Lorsque c'est le cas, vous savez toujours que vous avez utilisé du gras et souligné.

De plus, vous pouvez ajouter des icônes selon vos besoins.

if (myDesign & ITALICS) {
    //斜体
}

在此,我们在设计中添加了斜体。请注意,if语句内部仅编写斜体代码。

在C语言编程中,您无需使用枚举就可以完成几乎所有任务。但是,在某些情况下,它们可能非常方便。