Перечіслімий тип даних (enum)

Перерахування - це типи, яким відповідають набори цілочисельних констант, кожна з яких має унікальне ім'я.

enum <имя перечисления> список іменованих констант >>;

Наприклад, якщо ми захочемо перефарбувати вікно консолі, або змінити колір тексту, який виводиться на консоль, нам потрібно буде оперувати поняттям колір. Кожен колір для консолі кодується цілим числом. Нулю відповідає чорніше, одиниці - синій і т.д. Але пам'ятати номери кольорів не дуже зручно. Зручніше використовувати імена з такого перерахування:

BLACK, BLUE, GREN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, LIGHTBLUE, LIGHTGREN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE

Стандартно перший елемент перерахування має значення 0, а кожний наступний має значення на 1 більше, ніж попередній.

У разі необхідності елементам можна привласнювати інші значення:

Можна вибирати значення, які ви хочете привласнити константам, але вони повинні бути цілого типу (включаючи char). Для цього включіть бажані значення в опис:

Якщо ви привласнюєте якесь значення однієї константі і не привласнюєте нічого констант, наступним за нею, то їм будуть присвоєні послідовні значення, що йдуть за явно присвоєним значенням. наприклад,

привласнює змінної tiger значення 21, змінної lion - значення 22 і puma - значення 23.

В цьому випадку компілятор може видати попередження про те, що обробляються тільки два значення color з трьох можливих.

Таким чином перерахування це:

- Створення іменованих констант з автоматичним збільшенням значення константи

- Попередження про можливі помилки з боку компілятора