Объединение (структура данных)

Объединение (структура данных)

Объединение (англ. union) в программировании — структура данных, члены которой расположены по одному и тому же адресу. Поэтому размер объединения равен размеру его наибольшего члена. В любой момент времени объединение хранит значение только одного из членов.

Пример на C++

union Some {
    int i;
    double a;
};

Это объединение хранит либо целое число (переменная i), либо число с плавающей точкой (переменная a). Поскольку объединение — это вид структуры, то в C и C++ к нему обращаются так же, как и к структуре: через символ «->» при использовании указателя, или «.» при использовании обычной переменной.

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

struct STRX {
   int j;
   Some v, *w;
} a, *b;

Рассмотрим способы обращения к объединению, заданные через указатели, переменные и смешанным образом:

a.v.i=123;
b->v.i=123;
a.w->i=123;
b->w->i=123;

Есть возможность сделать объединение безымянным :

struct STRX {
    int j;
    union {
        int i;
        double a;
    };
} a;

При этом способ обращения меняется:

a.i=123;
a.a=4.5;

Wikimedia Foundation. 2010.

Смотреть что такое "Объединение (структура данных)" в других словарях:

  • Структура данных — Бинарное дерево, простой пример ветвящейся связной структуры данных. Структура данных (англ. data structure)  программная единица, позволяющая хран …   Википедия

  • Объединение — Объединение: В Викисловаре есть статья «объединение» Объединение  разновидность организации …   Википедия

  • Объединение (значения) — Объединение  многозначный термин, входит в состав сложных терминов. В Викисловаре есть статья «объединение» Объединение  разновидность организаций. Объединение  общее название крупных воинских формирований …   Википедия

  • Структура (программирование) — У этого термина существуют и другие значения, см. Структура (значения). Структура  конструкция большинства языков программирования, позволяющая содержать в себе набор переменных различных типов. В языках семейства Pascal структуры… …   Википедия

  • Структура (матем.) — Структура, решётка (математическая); важное алгебраическое понятие. С. называется непустое множество S, для элементов которого определены две операции объединение и пересечение, обозначаемые соответственно значками È и Ç (т. е.… …   Большая советская энциклопедия

  • Структура — I Структура (лат. structura строение, расположение)         определённая взаимосвязь, взаиморасположение составных частей; строение, устройство чего либо. II Структура         совокупность устойчивых связей объекта, обеспечивающих его целостность …   Большая советская энциклопедия

  • Алгебраический тип данных — в теории программирования любой тип, значения которого являются значениями некоторых иных типов, «обёрнутыми» конструкторами алгебраического типа. Другими словами, алгебраический тип данных имеет набор конструкторов типа, каждый из которых… …   Википедия

  • ГОСТ 24402-88: Телеобработка данных и вычислительные сети. Термины и определения — Терминология ГОСТ 24402 88: Телеобработка данных и вычислительные сети. Термины и определения оригинал документа: ТИПЫ СИСТЕМ И СЕТЕЙ 90. Абонентская система обработки данных Абонентская система Subscriber system Система обработки данных,… …   Словарь-справочник терминов нормативно-технической документации

  • Множество (тип данных) — У этого термина существуют и другие значения, см. Множество (значения). Множество тип и структура данных в информатике, является реализацией математического объекта множество. Данные типа множество позволяют хранить ограниченное число значений… …   Википедия

  • Абстрактный тип данных — Для улучшения этой статьи по информационным технологиям желательно?: Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное. Проставив сноски, внести более точные у …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.