В інформатиці об'єднання (англ. 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;
Див. також
В іншому мовному розділі є повніша стаття Union type(англ.). Ви можете допомогти, розширивши поточну статтю за допомогою з англійської.
|
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V informatici ob yednannya angl union ye znachennyam abo strukturoyu danih yake mozhe mati kilka riznih podan U silno tipizovanih movah tip ob yednannya vidpovidaye ponyattyu z teoriyi tipiv tobto vimagaye vikoristovuvati rizni konstruktori dlya znachen riznih tipiv U slabko tipizovanih movah yak ot C i C tip ob yednannya realizuye kalambur tipizaciyi tobto zabezpechuye interpretuvannya odnogo j togo zh znachennya vidpovidno do riznih tipiv Zalezhno vid konkretnoyi movi ta tipu znachennya ob yednannya mozhe vikoristovuvatisya v takih operaciyah yak prisvoyennya chi u vidrivi vid informaciyi pro konkretnij tip abo z vimogoyu yiyi nayavnosti Priklad na Cunion Some int i double a Ce ob yednannya zberigaye abo cile chislo zminna i abo chislo z ruhomoyu komoyu zminna a U C ta C ob yednannya realizovano yak riznovid do nogo zvertayutsya tak samo yak i do strukturi cherez simvol gt za vikoristannya vkazivnika chi za vikoristannya zvichajnoyi zminnoyi Mozhna uskladniti priklad zrobivshi ob yednannya chastinoyu strukturi i todi zvertatisya treba bude vzhe cherez strukturu tobto struct STRX int i Some v w a b Rozglyanemo sposobi zvernennya do ob yednannya zadani cherez vkazivniki zminni ta v zmishanij sposib a v i 123 b gt v i 123 a w gt i 123 b gt w gt i 123 Ye mozhlivist zrobiti ob yednannya bezimennim struct STRX int j union int i double a a Pri comu zvernennya sproshuyetsya a i 123 a a 4 5 Div takozhKalambur tipizaciyi V inshomu movnomu rozdili ye povnisha stattya Union type angl Vi mozhete dopomogti rozshirivshi potochnu stattyu za dopomogoyu perekladu z anglijskoyi Divitis avtoperekladenu versiyu statti z movi anglijska Perekladach povinen rozumiti sho vidpovidalnist za kincevij vmist statti u Vikipediyi nese same avtor redaguvan Onlajn pereklad nadayetsya lishe yak korisnij instrument pereglyadu vmistu zrozumiloyu movoyu Ne vikoristovujte nevichitanij i nevidkorigovanij mashinnij pereklad u stattyah ukrayinskoyi Vikipediyi Mashinnij pereklad Google ye korisnoyu vidpravnoyu tochkoyu dlya perekladu ale perekladacham neobhidno vipravlyati pomilki ta pidtverdzhuvati tochnist perekladu a ne prosto skopiyuvati mashinnij pereklad do ukrayinskoyi Vikipediyi Ne perekladajte tekst yakij vidayetsya nedostovirnim abo neyakisnim Yaksho mozhlivo perevirte tekst za posilannyami podanimi v inshomovnij statti Dokladni rekomendaciyi div Vikipediya Pereklad