0Pricing
C Academy · Lektion

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.
Unions und Speichereffizienz — Illustration 1

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!

Unions und Speichereffizienz — Illustration 10

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

  1. Strukturen definieren und verwenden
  2. Unions und Speichereffizienz
  3. Aufzählungen (enum)
← Zurück zu C Academy