5 Pluspunkte 0 Minuspunkte
Was ist ein Union Datentyp in C und wie verwendet man ihn?
von  

2 Antworten

3 Pluspunkte 0 Minuspunkte

Ein Union ist eine spezielle Art von Datentyp, der es ermöglicht, unterschiedliche Datenelemente im selben Speicherbereich zu speichern. Im Gegensatz zu Strukturen (structs), bei denen jeder Member seinen eigenen Speicherplatz hat, teilen alle Member eines Unions denselben Speicherplatz. Das bedeutet, dass nur ein Member des Unions gleichzeitig gültige Daten enthält. Die Syntax zur Definition eines Union-Datentyps sieht folgendermaßen aus.

union MyUnion {
    int intValue;
    float floatValue;
    char charValue;
};

union MyUnion u;
u.intValue = 42;        // Ein Member setzen
printf("%d\n", u.intValue);  // Wert von intValue ausgeben

Hier ist MyUnion der Name des Union-Datentyps. Du kannst so viele Mitglieder definieren, wie du möchtest, aber denke daran, dass immer nur ein Mitglied gleichzeitig gültige Daten enthält. Du kannst also entweder ein int oder ein float oder einen char speichern, aber keine 2 Member gleichzeitig.

von  
Datentyp eines Union ändern
Datentyp eines Union ermitteln
0 Pluspunkte 0 Minuspunkte
In C ist jede "Variable" ein festgelegter Datentyp. Ein Union kann den Datentyp ändern und mehrere Datentypen darstellen. Es kann entweder ein Char oder ein Int oder ein Float etc sein. Aber immer nur eines zur gleichen Zeit.
von (706 Punkte)