* Данни с изброими стойности
Публикувано на 25 октомври 2008 в раздел С/С++.
Може да създаваме и данни, които приемат стойности от крайно множество на целите числа. Изключително е удобно да ги използваме в ситуации, които се характеризират със съвкупност от възможни варианти. Общият синтаксис е:
enum име_на_типа{списък_на_стойностите}променливи;
Типичен пример за С е липсата на булеви променливи в езика:
// Създаваме тип Boolean и променлива b от този тип
enum Boolean{false,true}b;
// Декларираме още две променливи
Boolean c, d=false;
...
// Можем да правим проверки с тях:
if (b == true && c == false) ...
Компилаторът присвоява на идентификаторите в списъка на стойностите цели числа в нарастващ порядък (започват от нула). В случая с примерния булев тип c=false ще бъде еквивалентно на c=0, тъй като false е на най-първата позиция в списъка.
Възможно е да присвояваме и цели числа по правило различно от посоченото. Например:
// first ще отговаря на 0, second на 5, а third на 6.
enum newtype{first, second = 5, third}n;
// По долу демонстрираме как може да се преобразува тип в ENUM
int k = 5;
n = (enum newtype)(k+1); // n = third
Областта на действие на описанието enum е както при другите типове данни.
Добави коментар