Suche
Suche Menü

Vereinigung

Bei der Vereinigung werden Variablen vereint. Diese teilen sich den gleichen Speicherplatz. Verändert man eine Variable, ändert sich somit der gemeinschaftlich genutzte Speicherplatz. Dies wirkt sich dann auch auf den Wert der anderen Variablen in der Vereinigung aus. Eine Vereinigung erstellt man mit dem Schlüsselwort union. Der Aufbau ist gleich dem einer Struktur.

In diesem Beispiel wird ein Union mit einer int und float Variable erstellt. Setzt man die Union auf einen Integer-Wert, erhält man nur beim Zugriff auf numInt eine sinnvolle Ausgabe. Greift man auf numFloat zu, erscheint keine sinnvolle Ausgabe, da numFloat vom Typ float und in der Union kein float Wert gespeichert ist.

union number {
	int numInt;
	float numFloat;
};

union number myNumber;

myNumber.numInt = 5;
printf("numInt: %d\n", myNumber.numInt);
printf("numFloat: %f\n", myNumber.numFloat);

myNumber.numFloat = 1.2345;
printf("numInt: %d\n", myNumber.numInt);
printf("numFloat: %f\n", myNumber.numFloat);

numInt: 5
numFloat: 0.000000

numInt: 1067320345
numFloat: 1.234500