Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Объединения

Rusa


Объединение - это пер&# 23523m1214x 1077;менная, которая в различные моменты времени может содержать объекты разных типов и размеров, причем компилятор берет на себя отслеживание размера и требований выравнивания. Объединения предоставляют возможность работать с различными видами данных в одной области памяти, не вводя в программу никакой машинно-зависимой информации.



int float или быть указателями на символы. значение каждой конкретной константы должно храниться в пер&# 23523m1214x 1077;менной соответствующего типа, но все же для управления таблицей самым удобным было бы, если это значение занимало бы один и тот же объем памяти и хранилось в том же самом месте независимо от его типа. Это и является назначением объединения - выделить отдельную пер&# 23523m1214x 1077;менную, в которой можно законно хранить любую одну из пер&# 23523m1214x 1077;менных нескольких типов. Как и в случае полей, синтаксис основывается на структурах:

union u tag

uval

uval uval



Указатель_объединения->элемент 

uval, используется пер&# 23523m1214x 1077;менная utype

if (utype == int)

printf("%d\n", uval.ival);

else if (utype == float)

printf("%f\n", uval.fval);

else if (utype == string)

printf("%s\n", uval.pval);

else

printf("bad type %d in utype\n", utype);



struct

uval

} symtab nsym

на пер&# 23523m1214x 1077;менную ival

symtab i uval ival

а на пер&# 23523m1214x 1074;ый символ строки pval

symtab i uval pval .

Как и в случае структур, единственными опер&# 23523m1214x 1072;циями, которые в настоящее время можно проводить с объединениями, являются доступ к элементу и извлечение адреса; объединения не могут быть присвоены, пер&# 23523m1214x 1077;даны функциям или возвращены ими. Указатели объединений можно использовать в точно такой же манере, как и указатели структур.




Document Info


Accesari: 879
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )