Strukturen und Vereinigungen

Strukturen (struct) und Vereinigungen (union) ermöglichen die Zusammenfassung von Variablen verschiedener Typen unter einem Namen. Sie sind zentral für komplexe Datentypen in C.

1. Strukturen (struct)

Eine Struktur fasst verschiedene Datentypen zu einem neuen Typ zusammen.
struct Punkt {
    int x;
    int y;
};

struct Punkt p1;
p1.x = 10;
p1.y = 20;

printf("(%d,%d)\n", p1.x, p1.y);
Strukturen ermöglichen **logische Gruppierung** zusammenhängender Daten.

2. Initialisierung von Strukturen

Strukturen können bei der Deklaration initialisiert werden.
struct Punkt p2 = {5, 15};
printf("(%d,%d)\n", p2.x, p2.y);

3. Zugriff auf Strukturelemente

Zugriff auf Elemente erfolgt über den Punktoperator ..
p2.x = p2.x + 1;
printf("%d\n", p2.x);

4. Zeiger auf Strukturen

Zeiger auf Strukturen nutzen den Pfeiloperator -> zur Dereferenzierung.
struct Punkt *pp = &p2;
pp->y = 30;
printf("%d\n", pp->y);

5. Vereinigungen (union)

Eine Union speichert verschiedene Typen an derselben Speicherstelle. Es kann immer nur **ein Wert** gleichzeitig gültig sein.
union Zahl {
    int i;
    float f;
};

union Zahl z;
z.i = 42;
printf("%d\n", z.i);

z.f = 3.14;
printf("%f\n", z.f);  // vorheriges int wird überschrieben

6. Vorteile und typische Anwendungen

7. Zusammenfassung