C Types énumérés

Une introduction aux types énumérés C

En utilisant letypedefetenummots-clés nous pouvons définir un type qui peut avoir une valeur ou une autre.

C'est l'une des utilisations les plus importantes dutypedefmot-clé.

Voici la syntaxe d'un type énuméré:

typedef enum {
  //...values
} TYPENAME;

Le type énuméré que nous créons est généralement, par convention, en majuscules.

Voici un exemple simple:

typedef enum {
  true,
  false
} BOOLEAN;

C est livré avec unbooltaper, donc cet exemple n'est pas vraiment pratique, mais vous voyez l'idée.

Un autre exemple consiste à définir les jours de la semaine:

typedef enum {
  monday,
  tuesday,
  wednesday,
  thursday,
  friday,
  saturday,
  sunday
} WEEKDAY;

Voici un programme simple qui utilise ce type énuméré:

#include <stdio.h>

typedef enum {
  monday,
  tuesday,
  wednesday,
  thursday,
  friday,
  saturday,
  sunday
} WEEKDAY;

int main(void) { WEEKDAY day = monday;

if (day == monday) { printf(“It’s monday!”); } else { printf(“It’s not monday”); } }

Chaque élément de la définition d'énumération est associé à un entier, en interne. Donc dans cet exemplemonday is 0, tuesdayvaut 1 et ainsi de suite.

Cela signifie que le conditionnel aurait pu êtreif (day == 0)au lieu deif (day == monday), mais il est bien plus simple pour nous humains de raisonner avec des noms plutôt qu'avec des nombres, c'est donc une syntaxe très pratique.

Téléchargez mon gratuitManuel C


Plus de tutoriels clang: