Loading lessons...
Enums
An enum lets you give names to integer values. Instead of remembering that 1 means "Sunday", you write Sunday.
Defining an enum
c
enum Level {
### LOW,
### MEDIUM,
### HIGH
};
Using it
c
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, ...:
c
### LOW = 0
### MEDIUM = 1
### HIGH = 2
Setting custom values
c
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.