Loading lessons...
Enums
Enums
An enum lets you give names to integer values. Instead of remembering that 1 means "Sunday", you write Sunday.
Defining an enum
enum Level {
LOW,
MEDIUM,
HIGH
};
Using it
enum Level level = MEDIUM;
switch (level) {
case LOW:
printf("Low level");
break;
case MEDIUM:
printf("Medium level");
break;
case HIGH:
printf("High level");
break;
}
Under the hood: values
By default the members are 0, 1, 2, ...:
LOW = 0
MEDIUM = 1
HIGH = 2
Setting custom values
enum Level {
LOW = 25,
MEDIUM = 50,
HIGH = 75
};
Why use enums?
- Self-documenting names instead of magic numbers.
- Switch statements read like a checklist.
- Compiler type-checks a bit more.
TL;DR
- An enum names integer constants.
- Default values start at 0.
- Set custom values with
=. - Makes code read like English.