ENUM
• Ключевое слово enum используется для объявления перечисления, отдельного типа, состоящего из набора именованных констант, который называется списком перечислителя.
• По умолчанию первому перечислителю задано значение, равное нулю, а значение каждого последующего оператора увеличивается на 1. • Например: enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri }; 0 1 2 3 4 5 6 • Для переопределения значений по умолчанию перечисления могут иметь инициализаторы. enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
• Каждый тип перечисления имеет базовый тип, который может быть любым целым типом, исключая char. • По умолчанию базовым типом элементов перечисления является int. • Объявление перечисления другого целочисленного типа: enum Days : byte {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
• Базовый тип указывает размер хранилища, выделенного для каждого перечислителя. • Однако для преобразования из типа enum в целочисленный тип необходимо явное приведение. • Например, int x = (int)Days. Sun; • оператор назначает перечислитель Sun переменной типа int, используя приведение для преобразования enum в int.
Пример 1
Пример 2
Пример 3
Пример 4
STRUCT Структуры данных
• Структуры ("записи") представляют собой агрегаты разнородных данных (полей разного типа); в отличие от массивов, где все элементы имеют один и тот же тип.
Определение структуры состоит из двух шагов: 1. объявление шаблона структуры (задание нового типа данных); 2. определение переменных типа объявленного шаблона
• Пусть требуется составить перечень музыкальных компакт- дисков. Достаточной для поиска диска в коллекции является следующая информация: • название альбома; • исполнитель; • количество композиций; • цена; • дата покупки.
Имя элемента Название альбома Исполнитель Количество композиций Цена Дата покупки Соответствующий тип данных Строка Целочисленная переменная Переменная с плавающей запятой Строка
Определение структурного типа данных struct <имя_структурного_типа> { определение элементов (полей структуры) ; };
Массивы структур (записей) • Инициализация элементов структуры осуществляется с помощью специального оператора – точки (. ). • имя_структурной_переменной. имя_поля