Unions und Speichereffizienz
Verstehen Sie die Unterschiede zwischen struct und union und wie Unions die Speichernutzung optimieren.
Unions und Speichereffizienz ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.
Unions und effiziente Speichernutzung
Unions und effiziente Speichernutzung
Eine Union ist ein spezieller Datentyp, der das Speichern verschiedener Datentypen am selben Speicherort ermöglicht.
In dieser Lektion lernen Sie:
- Wie Sie Unions definieren und verwenden.
- Worin sich Strukturen und Unions unterscheiden.
- Wie Unions die Speichernutzung optimieren.

Was ist eine Union?
Was ist eine Union?
Eine Union ähnelt einer Struktur, aber alle Mitglieder teilen sich denselben Speicherbereich.
Beispiel:
union Data {
int i;
float f;
char str[20];
};
Hier verwenden i, f und str denselben Speicherort.
Eine Union deklarieren und verwenden
Eine Union deklarieren und verwenden
Unions werden ähnlich wie Strukturen deklariert und verwendet:
union Data d1;
Werte zuweisen:
d1.i = 10;
Gleichzeitig kann nur ein Mitglied einen Wert speichern.
Beispiel: Eine Union verwenden
Beispiel: Eine Union verwenden
Dieses Programm veranschaulicht, wie eine Union Werte an einem gemeinsamen Speicherort speichert.
#include <stdio.h>
union Data {
int i;
float f;
char str[20];
};
int main() {
union Data d1;
d1.i = 10;
printf("Integer: %d\n", d1.i);
d1.f = 20.5;
printf("Float: %f\n", d1.f);
return 0;
}Speicherzuweisung bei Unions
Speicherzuweisung bei Unions
Im Gegensatz zu Strukturen wird die Größe einer Union durch ihr größtes Mitglied bestimmt.
Beispiel:
union Data {
int i; // 4 bytes
float f; // 4 bytes
char str[20]; // 20 bytes
};
Die Größe dieser Union beträgt 20 Bytes und nicht 28.
Unterschied zwischen Struct und Union
Unterschied zwischen Struct und Union
Struktur:
- Jedes Mitglied hat einen eigenen Speicherort.
- Die Größe entspricht der Summe aller Mitglieder.
Union:
- Alle Mitglieder teilen sich denselben Speicherort.
- Die Größe wird durch das größte Mitglied bestimmt.
Beispiel: Struct und Union vergleichen
Beispiel: Struct und Union vergleichen
Dieses Programm zeigt die Speichergröße einer Struktur und einer Union.
#include <stdio.h>
struct StructExample {
int i;
float f;
char str[20];
};
union UnionExample {
int i;
float f;
char str[20];
};
int main() {
printf("Size of struct: %lu bytes\n", sizeof(struct StructExample));
printf("Size of union: %lu bytes\n", sizeof(union UnionExample));
return 0;
}Wann sollten Sie Unions verwenden?
Wann sollten Sie Unions verwenden?
Unions sind nützlich, wenn:
- Eine effiziente Speichernutzung Priorität hat.
- Eine Variable zu unterschiedlichen Zeitpunkten verschiedene Typen speichern muss.
- Sie mit Hardwareregistern arbeiten.
Zusammenfassung
Zusammenfassung
In dieser Lektion haben Sie gelernt:
- Wie Unions funktionieren und Speicher sparen.
- Worin sich Strukturen und Unions unterscheiden.
- Wie Sie Unions in praktischen Szenarien verwenden.
Als Nächstes sehen wir uns Enumerationen in C an!

Häufig gestellte Fragen
Ist die Lektion „Unions und Speichereffizienz“ kostenlos?
Ja — der vollständige Text von „Unions und Speichereffizienz“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Unions und Speichereffizienz“?
Verstehen Sie die Unterschiede zwischen struct und union und wie Unions die Speichernutzung optimieren. Du übst C Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C Academy zu starten?
Keine Vorkenntnisse erforderlich. C Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.
Wie lange dauert die Lektion „Unions und Speichereffizienz“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C Academy-Lektion Code schreiben und ausführen?
Ja. Jede C Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Strukturen definieren und verwenden
- Unions und Speichereffizienz
- Aufzählungen (enum)