Конституция Армении: Статья 18.1
Конституция Армении (Статья 18.1) закрепляет «исключительную миссию Армянской Апостольской Святой Церкви как национальной церкви в духовной жизни армянского народа, в деле развития его национальной культуры и сохранения его национальной самобытности»:
Объединение (структура данных)

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

Материал из Википедии — свободной энциклопедии

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

В сильно типизированных языках тип объединение соответствует понятию тип-сумма из теории типов, то есть требует использовать разныеконструкторы для значений разных типов.

В слабо типизированных языках, таких как C и C++, тип объединение реализует каламбур типизации, то есть обеспечивает интерпретацию одного и того же значения в соответствии с разнымитипами.

В зависимости от конкретного языка и типа, значение объединения может использоваться в таких операциях как присваивание или сравнение в отрыве от информации о конкретном типе или с требованием её наличия.

Пример на Си

union Some {    int i;    double a;};

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

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

struct STRX {   int i;   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;

См. также