diff --git a/base_6.md b/base_6.md index d76f394ff9dbe3246683a18839e86be588f3ae20..e56dfda3bdeeaf129344c190c919117e3f9eb2d8 100644 --- a/base_6.md +++ b/base_6.md @@ -2,6 +2,43 @@ % Inspirés des slides de F. Glück % 28 octobre 2020 +# Types énumérés + +## Type `enum` (1/2) + +* Un **type énuméré** est un ensemble de valeurs constantes. +* En `C` se sont des entiers numérotés de 0. + + ```C + enum days { + monday, tuesday, wednesday, + thursday, friday, saturday, sunday + }; +* On peut aussi donner des valeurs "custom" + ```C + enum days { + monday = 2, tuesday = 8, wednesday = -2, + thursday = 1, friday = 3, saturday = 12, sunday = 9 + }; + +## Type `enum` (2/2) + +* Très utile dans les `switch ... case`{.C} + + ```C + enum days d = monday; + switch (d) { + case monday: + // trucs + break; + case tuesday: + printf("0 ou 1\n"); + break; + } + ``` +* Le compilateur vous prévient qu'il en manque! + + # Pointeurs de pointeurs ## Doubles pointeurs