Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Перечислимый тип



10.1.1. Тип enum (C)

Относится к целым типам данных. Применяется для объявления целых переменных, которые могут принимать только строго определенные значения, число которых можно перечислить в нужном порядке. Сначала объявляется новый тип данных:

enum <имя_типа>{<имя_элемента>[=<значение>],

[<имя_элемента> [=<значение>]]...};

Пример.

enum spectr{RED, ORANGE, YELLOW, GREEN, BLUE, VIOLET};

Затем можно определять переменные этого типа:

[ enum ] spectr color1, color2;

В языке C++ указание ключевого слова enum при объявлении переменных перечислимого типа не является обязательным, если инструкция объявления этого типа записана в программе раньше. Ключевое слово enum является сокращением от enumeration – перечисление.

Запись из примера эквивалентна введению символических констант вида:

# define RED 0

# define ORANGE 1

# define YELLOW 2

# define GREEN 3

# define BLUE 4

# define VIOLET 5

Переменные типа spectr могут принимать только указанные значения. При попытке присваивания им другого значения транслятор выдает ошибку.

Пример.

color1=GREEN; // Допустимо

color2=WHITE; // Ошибка!

Если при объявлении типа символическим константам из списка не задается значений, то первая из них по умолчанию получает значение 0, последующие на 1 больше. Если какой-либо из констант задается значение, а последующим нет, то они получают следующее по порядку целое значение.

Пример.

enum RussianCop{one=1, five=5, ten=10, fifty=50};

enum RussianRoub{One=1, Two, Five=5, Ten=10, Fifty=50, Hundred=100, FiveHundred=500, Thousand=1000};

enum mark{BAD=2, MIDDLE, GOOD, FINE};

Как известно, в языке C не определен логический тип данных, однако он легко вводится с помощью объявления вида: enumbool { false, true };

Фактически разумными при работе с данными перечислимых типов являются только следующие операторы: присваиваниеà color1=VIOLET; и сравнениеà color1==color2.

Заметим, что введение такого типа данных служит прежде всего для большей понятности и удобочитаемости текста программы.

10.1.2. Тип enum (B)

Практически аналогичен такому же типу языка C.

Формат объявления типа:

enum <имя_типа>

<имя_элемента>[=<значение>]

[<имя_элемента>[=<значение>] ]

.......................................................





Дата публикования: 2014-11-02; Прочитано: 148 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...