📘 Définition de enum :

enum (abréviation de enumeration) est un type de données en langage C qui permet de définir un ensemble de constantes entières nommées.

Cela sert à rendre le code plus lisible en remplaçant des nombres magiques par des noms significatifs.

🧠 Exemple :

enum Couleur {
    ROUGE,   // vaut 0
    VERT,    // vaut 1
    BLEU     // vaut 2
};

Ici, ROUGE, VERT et BLEU sont des constantes entières.

  • Par défaut :
    • ROUGE = 0
    • VERT = 1
    • BLEU = 2

Tu peux aussi attribuer des valeurs personnalisées :

enum Couleur {
    ROUGE = 1,
    VERT = 3,
    BLEU = 5
};

🧑‍💻 Utilisation dans le code :

enum Couleur maCouleur;
maCouleur = VERT;

if (maCouleur == VERT) {
    printf("C'est vert !\n");
}

Exemple concret:

#include <stdio.h>
#include <stdlib.h>

/* Définition de l'énumération */
enum Jour {
    LUNDI,
    MARDI,
    MERCREDI,
    JEUDI,
    VENDREDI,
    SAMEDI,
    DIMANCHE
};

int main() {
    enum Jour aujourdhui = MERCREDI;

    switch (aujourdhui) {
        case LUNDI:
            printf("C'est lundi\n");
            break;
        case MARDI:
            printf("C'est mardi\n");
            break;
        case MERCREDI:
            printf("C'est mercredi\n");
            break;
        case JEUDI:
            printf("C'est jeudi\n");
            break;
        case VENDREDI:
            printf("C'est vendredi\n");
            break;
        case SAMEDI:
        case DIMANCHE:
            printf("C'est le week-end\n");
            break;
        default:
            printf("Jour inconnu\n");
    }

    return EXIT_SUCCESS;
}

"enum.c" 44L, 844B                                                                                                                                                                               44,0-1       Tout
[albert] 0:bash  1:bash  2:bash- 3:ssh*                                                                                                                                                "workboot" 10:41 17-juil.-25

Cas binaire ! autre exemple

#include <stdio.h>

enum Etat {
    OFF = 0,
    ON  = 1
};

int main() {
    enum Etat lampe = ON;

    if (lampe == ON) {
        printf("La lampe est allumée.\n");
    } else {
        printf("La lampe est éteinte.\n");
    }

    return 0;
}
Lampe : ON

✅ Avantages de enum

AvantagePourquoi c’est utile
🔤 LisibilitéTu remplaces des chiffres par des mots
🚫 Moins d’erreursTu évites de mélanger des valeurs sans sens
🔁 Compatible avec switchTrès pratique dans les menus ou états

📌 En résumé :

Un enum est un type défini par le programmeur qui associe des noms symboliques à des valeurs entières.