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).
|