Skip to content
AgileLogics
3 min read

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.