* Данни с изброими стойности
Публикувано на 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 е както при другите типове данни.
Добави коментар