next up previous contents index
Next: Types flottants Up: No Title Previous: Instruction d'aiguillage switch

Constantes énumérées

   

La définition suivante introduit un nom de type et un ensemble de noms de constantes, lesquelles constituent les valeurs de ce type :

typedef enum {Est, Nord, Ouest, Sud} direction;

Ces constantes d'énumération sont particulièrement utiles dans une instruction d'aiguillage. La fonction suivante permet de modifier la valeur des arguments x et y, passés par référence (représentant la position d'un point dans le plan) selon la valeur du premier argument, de type direction :

void deplacement(direction d, int *x, int *y) {

  switch(d) {
    case Est: 
      *x = *x+1; 
      break;
    case Nord: 
      *y = *y+1; 
      break;
    case Ouest: 
      *x = *x-1; 
      break;
    case Sud: 
      *y = *y-1; 
      break;
  }
}

Il est obligatoire que chaque valeur du type d'énumération soit traitée (au moins par un default).



Jean-Philippe Chancelier
9/29/1998