Перелікові типи, або просто переліки – це набори цілочислових констант, кожна з яких має унікальне в межах програми ім’я. Переліки оголошують таким чином:
enum ім’я_переліку {список_іменованих_констант};
тут ім’я переліку – ім’я, яке визначає (ідентифікує) даний перелік; список іменованих констант – набір імен, які надаються константам переліку. Тег переліку та імена його констант повинні відповідати правилам запису ідентифікаторів. Переліки є зручним способом для створення груп іменованих констант. Їх використання дозволяє підвищити наочність програм, спрощує внесення змін і доповнень, полегшує процес налагодження програм.
Наступний перелік надає імена константам, які позначають дні тижня:
enum days {Mon, Tue, Wed, Thu, Fri, Sat, Sun};
Кожен елемент переліку є константою з типом int, йому присвоюється значення, на одиницю більше,ніж значення попереднього елемента. Стандартно першій елемент переліку отримує значення нуль. Тобто, константа Mon з переліку days дорівнює 0, константа Tue дорівнює 1, константа Wed дорівнює 2 і так далі. Стандартні значення констант можна змінити, присвоївши їм потрібні цілочислові значення:
enum work_days {MON=1, TUE, WED, THU, FRI};
Перший елемент переліку в цьому випадку отримає значення 1, другий 2, і так далі.
Константні значення можна присвоїти всім або декільком елементам переліку:
enum RGBColors {Red = 1, Green = 128, Blue = 255};
enum Colors {RED = 1, GREEN, BLUE = 5};
Можна оголошувати змінні, які будуть мати визначений переліків тип. Наприклад, після оголошення
enum days {Mon, Tue, Wed, Thu, Fri, Sat, Sun};
enum days d1;
змінна d1 може набувати значення кожної з констант переліку days. Змінні переліскового типу можна оголошувати окремо, як у попередньому прикладі, і разом з оголошенням переліку:
enum days {Mon, Tue, Wed, Thu, Fri, Sat, Sun} d1, d2, d3;