Retour au cours

Énumérations (enum) et Typedef (typedef)

Langage C : de Zéro à Héros - Le Guide Complet pour Débutants

Leçon 46 : Énumérations (enum) et Typedef (typedef)

1. Énumérations (enum)

Une énumération est un type défini par l'utilisateur qui associe des noms (identifiants) à des constantes entières. Cela rend le code plus lisible et plus facile à maintenir que l'utilisation de « nombres magiques ».

Syntaxe : c enum nom_enum { constante1, constante2, ... };

Exemple

Par défaut, JANVIER vaut 0, FEVRIER vaut 1, et ainsi de suite.

c enum Mois { JANVIER, // 0 FEVRIER, // 1 MARS = 3, // Défini explicitement à 3 AVRIL // Automatiquement 4 };

int main() { enum Mois mois_actuel = JANVIER;

if (mois_actuel == 0) {
    printf("C'est le début de l'année.\n");
}

printf("Valeur d'Avril : %d\n", AVRIL); // 4
return 0;

}

2. Le mot-clé typedef

typedef fournit un mécanisme pour créer des alias (noms alternatifs) pour des types de données existants, simplifiant ainsi les déclarations complexes comme les structures et les pointeurs.

Simplifier les déclarations de structures

c // Avant typedef : struct Personne { ... }; struct Personne p1;

// Après typedef : typedef struct { char nom[50]; int age; } Personne; // 'Personne' est maintenant un alias pour la structure

Personne p2; // Plus besoin du mot-clé 'struct'

Simplifier les pointeurs

c typedef int *IntPtr; IntPtr p, q; // p et q sont tous deux des pointeurs vers des entiers // Sans typedef : int *p, q; (seul p est un pointeur)