C Перерахування (enum)
C Перерахування (перелік)
Enum – це спеціальний тип, який представляє групу констант (незмінних значень).
Щоб створити перелік, використовуйте ключове слово enum
, а потім назву переліку та розділіть елементи переліку комою:
enum Level {
LOW,
MEDIUM,
HIGH
};
Зауважте, що останній елемент не потребує коми.
Не обов’язково використовувати великі літери, але це часто вважається хорошою практикою.
Enum є скороченням від "enumerations", що означає "конкретно перерахований".
Щоб отримати доступ до enum, ви повинні створити його змінну.
Усередині методу main()
вкажіть ключове слово enum
, а потім назву enum (Level
), а потім назву змінної enum (myVar
у цьому прикладі):
enum Level myVar;
Тепер, коли ви створили змінну enum (myVar
), ви можете призначити їй значення.
Призначене значення має бути одним із елементів у переліку (LOW
, MEDIUM
або HIGH
):
enum Level myVar = MEDIUM;
За умовчанням перший елемент (LOW
) має значення 0
, другий (MEDIUM
) має значення 1
тощо.
Якщо ви зараз спробуєте надрукувати myVar, виведе 1
, що представляє MEDIUM
:
int main() {
// Створіть змінну enum і призначте їй значення
enum Level myVar = MEDIUM;
// Надрукуйте змінну enum
printf("%d", myVar);
return 0;
}
Спробуйте самі »
Змінити значення
Як ви знаєте, перший елемент переліку має значення 0. Другий має значення 1 і так далі.
Щоб зрозуміти значення, ви можете легко змінити їх:
enum Level {
LOW = 25,
MEDIUM = 50,
HIGH = 75
};
printf("%d", myVar); // Тепер виведе 50
Спробуйте самі »
Зауважте, що якщо ви призначите значення одному конкретному елементу, наступні елементи відповідно оновлять свої номери:
enum Level {
LOW = 5,
MEDIUM, // Тепер 6
HIGH // Тепер 7
};
Спробуйте самі »
Enum в інструкції Switch
Перерахування часто використовуються в інструкціях switch для перевірки відповідних значень:
enum Level {
LOW = 1,
MEDIUM,
HIGH
};
int main() {
enum Level myVar = MEDIUM;
switch (myVar) {
case 1:
printf("Low Level");
break;
case 2:
printf("Medium level");
break;
case 3:
printf("High level");
break;
}
return 0;
}
Спробуйте самі »
Чому і коли використовувати переліки?
Enums використовуються для надання імен константам, що полегшує читання та підтримку коду.
Використовуйте переліки, якщо у вас є значення, які, як ви знаєте, не зміняться, як-от дні місяця, дні, кольори, колода карт тощо.