Перечислимый тип по существу описывает целые константы (типа int), которым приписаны уникальные и удобные для использования имена.
Формат описания:
enum [имя типа] {список констант}
где константы могут быть инициализированы обычным образом.
Например,
enum digit {one=1,two,three};
Здесь one, two, three – произвольным образом выбранные программистом идентификаторы для обозначения констант 1,2,3. После такого определения в программе наряду, например, с константой 1 можно использовать ее обозначение one. Фактически такая запись равносильно записи
const int one=1;
const int two=2;
const int three=3;
Обычно перечислимый тип используется для задания числовых рядов или стандартных рядов, таких как месяцы, дни недели.
Если в определении перечислимых констант опустить знаки “=” и не указывать числовых значений, то они будут присваиваться идентификаторам по умолчанию следующим образом: самый левый в фигурных скобках идентификатор получит значение 0, а каждый последующий увеличивается на 1. Имена перечислимых констант должны быть уникальными, а их значения могут совпадать.
Имя типа указывают, если требуется вводить в программе переменные этого типа. Например
digit d1,d2;
Компилятор обычно обеспечивает, чтобы эти переменные принимали значения только из списка констант.