Unterschied zwischen Struktur und Union

Unterschied zwischen Struktur und Union

Contents

Hauptunterschied

Struktur und Vereinigung sind vom Benutzer abgegrenzte Datentypen, die Variablen unterschiedlicher Datentypen enthalten. Beide haben dieselbe Syntax zum Definieren, Deklarieren von Variablen und Abrufen von Elementen. Dennoch gibt es viele Unterschiede zwischen Struktur und Union. In der Struktur erhält jedes Mitglied einen separaten Platz im Speicher. In Union ist der gesamte zugewiesene Speicherplatz gleich dem größten Mitglied. Alle anderen Mitglieder teilen sich denselben Speicherplatz. Dies ist der größte Unterschied zwischen Struktur und Union.

Was ist die Struktur?

Die Struktur verwendet den gesamten Speicher ihres Mitglieds. In der Struktur können wir jedes Mitglied in beliebiger Reihenfolge aufnehmen.

Was ist Union?

Union verwendet den Speicherplatz des größten Mitglieds. In Union können wir nur auf die Variable zugreifen, deren Wert kürzlich gespeichert wurde.

Hauptunterschiede

  1. In der Struktur erhält jedes Mitglied einen separaten Platz im Speicher. In Union ist der gesamte zugewiesene Speicherplatz gleich dem größten Mitglied. Alle anderen Mitglieder teilen sich denselben Speicherplatz. Dies ist der größte Unterschied zwischen Struktur und Union.
  2. In der Struktur können wir jedes Mitglied in beliebiger Reihenfolge aufnehmen. Während wir in Union nur auf die Variable zugreifen können, deren Wert kürzlich gespeichert wurde.
  3. Alle Mitglieder können vorbereitet werden, indem die Strukturvariable deklariert wird. Beim Deklarieren der Bind-Variablen kann nur das erste Mitglied initialisiert werden. Im obigen Beispiel können wir die roll-Variable nur ändern, nicht zum Zeitpunkt der Variablendeklaration.
  4. Innerhalb einer Struktur wird allen Mitgliedern Speicher zugewiesen, und Mitglieder haben Adressen, die zunehmen, wenn Verzögerer von links nach rechts gelesen werden. Das heißt, alle Elemente einer Struktur beginnen an unterschiedlichen Versätzen von der Basis der Struktur. Für einen Union-Compiler weist der größte aller Member Speicher zu, und in einer Union haben alle Member einen Nullversatz von der Basis, der Container ist groß genug, um das WIDEST-Member aufzunehmen, und die Ausrichtung ist für alle Typen in der Union geeignet.
  5. Innerhalb einer Struktur wird allen Mitgliedern Speicher zugewiesen; daher kann sich jedes Mitglied jederzeit erholen. Beim Abrufen von Daten aus einer Vereinigung muss der abgerufene Typ der zuletzt gespeicherte Typ sein.
  6. Ein oder mehrere Mitglieder einer Struktur können gleichzeitig initialisiert werden. Eine Union kann nur mit einem Wert vom Typ ihres ersten Members initialisiert werden; Daher kann die oben beschriebene Vereinigung u (während der Beispieldeklaration) nur mit einem ganzzahligen Wert initialisiert werden.
  7. Die erforderliche Speichermenge zum Speichern einer Strukturvariablen ist die Summe der Größe aller Mitglieder. Andererseits ist im Fall von Vereinigungen die erforderliche Speichermenge immer gleich derjenigen, die von ihrem größten Mitglied benötigt wird.
  8. Bei einem Join ist es nur hypothetisch, eines der Elemente zu verwenden, da sie alle am selben Ort gespeichert sind. Dies macht es nützlich, wenn Sie etwas speichern möchten, das von mehreren Typen sein kann. Eine Struktur hingegen hat für jedes ihrer Elemente einen separaten Speicherplatz und sie können alle gleichzeitig verwendet werden.

LESEN   Unterschied zwischen Mac OS X Yosemite 10.10 und OS X El Capitan 10.11

osky