Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Typedef union data





{

char str[80];

int a;

double x;

} new_data;

Определения новых переменных (например, student1, student2) объединений будут выглядеть таким образом:


new_data student1, student2;

Объединения не относятся ни к скалярным данным, ни к данным агрегирующих типов [3]. Они не могут сравниваться операциями «==» и «!=» по тем же самым причинам, что и структуры, поскольку элементы объединения необязательно хранятся в последовательных байтах памяти.

Объединения часто используются для специального преобразования типов, поскольку к находящимся в них данным можно обращаться разными способами [4].

 

1.2. Перечислимые типы

Перечислимый (enumerated type) тип служит для объявления символических имен, представляющих целочисленные константы [1]. Можно сказать, что это тип данных, заданных списком принадлежащих ему значений.

Назначение перечислимых типов заключается в том, чтобы повысить удобочитаемость программы [1]. Синтаксис в этом случае аналогичен тому, который используется для описания структур.

Примеры объявления перечислимого типа:

enum spectrum {red, orange, yellow, green, blue, violet};

enum spectrum color;

Первое объявление устанавливает spectrum как имя дескриптора, который позволяет использовать enum spectrum в качестве имени типа. Второе объявление делает color переменной этого типа. Идентификаторы, заключенные в фигурные скобки, перечисляют возможные значения, которые может принимать переменная spectrum. Соответственно, возможными значениями color являются red, orange, yellow и т. д. Но эти возможные значения являются целочисленными, т. е. 0, 1, 2, 3, 4, 5. Другими словами, значения в enum начинаются с 0, если не задано иное число, и всегда увеличиваются на 1.

В общем случае перечислимые константы имеют тип int, но перечислимые переменные не так жестко привязаны к целочисленному типу данных, поскольку он может содержать перечислимые константы. Например, перечислимые константы переменной spectrum имеют диапазон [0; 5] (как в массиве), поэтому компилятор может выбрать тип unsigned char для представления переменной color.

В языке программирования С к перечислимой переменной можно применять операции инкрементирования «++» и декрементирования «––». Например,

for (color = red; color <= violet; ++color)

{

¼;;

}

По умолчанию константам в перечислимом списке присваиваются целые значения 0, 1, 2 и т. д. В то же время возможны присваиваемые значения, например:

enum levels {low = 100, medium = 500, high = 2000};


Если назначить конкретное значение одной из констант, то все следующие константы будут пронумерованы последовательно в возрастающем порядке, например:

enum feline {cat, lynx = 10, puma, tiger};

В этом случае cat (кошка) получает значение 0 по умолчанию, lynx (рысь), puma (пума), tiger (тигр) – соответственно 10, 11, 12.

Перечисления особенно полезны там, где не требуется преобразования значений (целого типа) в имена (массив символов), в частности используются в компиляторах для создания таблицы соответствия символов [4].

 







Дата добавления: 2015-09-06; просмотров: 382. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


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


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Тема: Изучение приспособленности организмов к среде обитания Цель:выяснить механизм образования приспособлений к среде обитания и их относительный характер, сделать вывод о том, что приспособленность – результат действия естественного отбора...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия