Navigation

2.2.4 Unions

Eine Union ist eine spezielle Form des Typs struct. Jede Komponente einer Union-Instanz wird auf den gleichen Speicherbereich abgebildet, d.h. zu einer Zeit ist immer nur ein Wert in einer Union gespeichert. (Vorsicht: Typ!)
union operand {
int i;

float f;

long l;

} u;
Für den Zugriff gelten die gleichen Regeln wie bei Strukturen.

BEISPIELE/b224.c: 

#include <stdio.h>

union wert {                                  /* Unions */
   int i;
   char c;
   double d;
};

main()
{  
   union wert w,x;

   w.i=6;     printf("i=%d, c=%c, d=%f\n", w.i, w.c, w.d);
   w.c='a';   printf("i=%d, c=%c, d=%f\n", w.i, w.c, w.d);
   w.d=33.33; printf("i=%d, c=%c, d=%f\n", w.i, w.c, w.d);
}

Navigation