union <union_bezeichner>
{
<Datendeklaration>
};
|
erlaubt die Deklaration von Variablen diesen Typs
[union] <union_bezeichner> <var_bezeichner>; |
Der Zugriff auf Komponenten der Union erfolgt wie bei einer Struktur.
// Union
#include <iostream.h>
main()
{
union operand // new union
{
int i;
float f;
double d; // longest data
};
operand u; // declare variable
cout << endl << "Size (operand) : "
<< sizeof(u) << " Bytes" << endl;
u.i = 123; // Init as int
cout << endl << u.i << " " << u.f << " " << u.d << endl;
u.f = 123; // Init as float
cout << ...
u.d = 123; // Init as double
cout << ...
}
|
Der Speicherplatzbedarf einer Union richtet sich nach der größten
Komponente (hier¸ sizeof(double) = 8).
Die Union wird benutzt, um Speicherplatz zu sparen, sollte
jedoch wegen der Fehlermöglichkeiten
erfahrenen Programmierern vorbehalten bleiben
(d.h., keine Verwendung im Praktikum).
|