Enums
Prerequisites: Unions
An enum names a set of integer constants, making code more
readable than raw numbers:
enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY };
enum Day today = WEDNESDAY;
if (today == SATURDAY || today == SUNDAY) {
printf("Weekend\n");
} else {
printf("Weekday\n");
}
Unlike Java's enum, C's is really just a set of named int
constants (MONDAY is 0, TUESDAY is 1, and so on, unless
given explicit values) — there's no compiler-enforced exhaustiveness
check on a switch over one.