НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Мова програмування C. Уроки W3Schools для початківців українською мовою

En Es De

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 використовуються для надання імен константам, що полегшує читання та підтримку коду.

Використовуйте переліки, якщо у вас є значення, які, як ви знаєте, не зміняться, як-от дні місяця, дні, кольори, колода карт тощо.