Unterschied zwischen Struktur und Vereinigung

Unterschied zwischen Struktur und Vereinigung

Sowohl die Struktur als auch die Vereinigung sind benutzerdefinierte Datentypen in der C-Sprache und sind konzeptionell gleich. Sie werden ähnlich deklariert, aber sie funktionieren anders. Er ermöglicht dem Benutzer, verschiedene Datentypen unter einem einzigen Namen zu kombinieren. Während für jedes Mitglied ein separater Speicherort verwendet wird, wenn Strukturvariablen deklariert werden. Lassen Sie uns den Unterschied zwischen Struktur und Vereinigung detailliert untersuchen.

Was ist Struktur?

Eine Struktur ist nur ein weiterer benutzerdefinierter Datentyp in C, der es dem Benutzer ermöglicht, Datentypen verschiedener Arten in einen einzelnen Typ in einem Speicherblock zu kombinieren. Eine Struktur kann sowohl einfache als auch komplexe Datentypen enthalten, die sich aufeinander beziehen, was ansonsten keinen Sinn ergibt. Jed.

Eine Struktur wird verwendet, wenn viele Daten wie ein Verzeichnis gruppiert werden müssen, in dem Informationen über viele Mitglieder in einem Buch oder ein Adressbuch gespeichert sind, in dem alle Informationen zu einem einzigen Kontakt gespeichert sind - Name, Adresse, Kontaktnummer usw. Die Adresse jedes Mitglieds befindet sich in aufsteigender Reihenfolge, was bedeutet. Die Änderung des Wertes eines Mitglieds hat keinen Einfluss auf andere Mitglieder.

Ein Schlüsselwort "Struktur" wird verwendet, um eine Struktur verschiedener Datentypen unter einem einzigen Namen zu definieren. Wenn Sie beispielsweise eine Mitarbeiterdatenbank erstellen möchten, müssen Sie den Namen, Alter, Telefon und Gehaltsdetails des Mitarbeiters unter einer einzigen Entität speichern. Dies erfolgt durch das Schlüsselwort "Struktur", das dann dem Compiler mitteilt, dass eine Struktur deklariert wurde.

Struktur Mitarbeiter

Zeichenfolge Name;

Saitenalter;

String -Telefon;

Saitengehalt;

emp1, emp2;

Hier ist "Mitarbeiter" der Name der Struktur und zwei Variablen "EMP1" und "EMP2" werden vom Typ "Mitarbeiter" erstellt. Auf die Schließklammern muss ein Semikolon (;) folgen.

Mitglieder einer Struktur können von zwei Arten von Operatoren zugegriffen werden:

  1. Mitgliedsbetreiber
  2. Strukturzeigeroperator

Was ist Gewerkschaft?

Es handelt sich um einen speziellen Datentyp, der in C verwendet wird, mit dem der Benutzer Datentypen verschiedener Arten im selben Speicherort speichern kann. Eine Vereinigung ist einer Struktur ziemlich ähnlich und kann definiert werden, indem das Schlüsselwort "Struktur" durch das Schlüsselwort "Union" ersetzt wird. Die Mitglieder überlagern die Erinnerung aneinander in einer Gewerkschaft und es ist groß genug, um alle seine Mitglieder zu passen.

Wenn eine Variable mit der Vereinigung zugeordnet ist, verteilt der Compiler das Gedächtnis, indem die Größe des größten Speichers berücksichtigt wird, sodass die Größe einer Union der Größe des größten Datenmitglieds entspricht. Eine Gewerkschaft kann mit vielen Mitgliedern definiert werden, aber nur ein Mitglied enthält den Wert zu einem bestimmten Zeitpunkt.

Die Adresse ist für alle Mitglieder einer Gewerkschaft dieselbe, was bedeutet. Und die Änderung des Wertes eines Mitglieds beeinflussen die Werte anderer Mitglieder. Eine Gewerkschaft kann verwendet werden, wenn Sie etwas speichern möchten, das einer von mehreren Datentypen ist.

Gewerkschaftsangestellter

Zeichenname [32];

int Alter;

Schwimmergehalt;

;

Hier definiert das Schlüsselwort 'Union' die Union, die der Erklärung der Struktur ziemlich ähnlich ist. Die Variable kann entweder einen Stringwert speichern, der "Name des Mitarbeiters" ist, einen Ganzzahlwert, der das "Alter des Mitarbeiter" ist, oder einen Schwimmer, der das "Gehalt des Mitarbeiter" darstellt ".

Unterschied zwischen Struktur und Vereinigung

1. Stichwort

Das Schlüsselwort "Struktur" wird verwendet, um eine Struktur zu definieren, während das Schlüsselwort "Union" verwendet wird, um eine Gewerkschaft zu definieren.

2. Speicherzuweisung

Der separate Speicherplatz wird für die Mitglieder innerhalb einer Struktur zugeteilt, und die Mitglieder haben unterschiedliche Adressen, die den Speicher nicht freigeben. Eine Gewerkschaft hingegen teilt den gleichen Speicherplatz für alle ihre Mitglieder, sodass der gemeinsame Speicherort zugewiesen wird.

3. Zugang zu Mitgliedern

Eine Gewerkschaft speichert jeweils einen einzigen Wert für alle Mitglieder, die jeweils nur ein Mitglied zugänglich machen. Während mehrere Werte in einer Struktur gespeichert werden können, können Sie jederzeit auf jeden Mitgliederwert zugegriffen und abgerufen werden.

4. Größe

Die Größe einer Struktur entspricht der Summe der Größe aller oder mehr Mitglieder, während die Größe einer Gewerkschaft der Größe des größten Mitglieds der Größe entspricht.

5. Initialisierung

In einer Struktur können mehrere Mitglieder gleichzeitig initialisiert werden, während in einer Gewerkschaft nur das erste Mitglied mit dem Wert seines Typs initialisiert werden kann.

5. Wert

Eine Struktur kann unterschiedliche Werte aller Mitglieder speichern, und die Änderung des Wertes eines Mitglieds hat keine Auswirkungen auf die Werte anderer Mitglieder. Während eine Gewerkschaft denselben Wert für alle Mitglieder und die Wertänderung eines Mitglieds auf den Wert eines anderen beeinflusst.

Struktur vs. Union

Struktur Union
Struct -Schlüsselwort wird verwendet, um eine Struktur zu definieren. Union -Schlüsselwort wird verwendet, um eine Gewerkschaft zu definieren.
Mitglieder teilen den Speicher nicht in einer Struktur. Mitglieder teilen den Speicherraum in einer Gewerkschaft.
Jedes Mitglied kann jederzeit in einer Struktur abgerufen werden. Zu einem Zeitpunkt in einer Gewerkschaft kann nur auf ein Mitglied zugegriffen werden.
Mehrere Mitglieder einer Struktur können sofort initialisiert werden. Nur das erste Mitglied kann initialisiert werden.
Die Größe der Struktur entspricht der Summe der Größe jedes Mitglieds. Die Größe der Gewerkschaft entspricht der Größe des größten Mitglieds.
Die Änderung des Wertes eines Mitglieds hat keinen Einfluss auf den Wert eines anderen. Die Wertänderung eines Mitglieds wirkt sich auf andere Mitgliedswerte aus.
Speichert verschiedene Werte für alle Mitglieder. Speichert denselben Wert für alle Mitglieder.

Zusammenfassung

  • Sowohl die Struktur als auch die Vereinigung sind benutzerdefinierte Datentypen in C, die funktional und konzeptionell gleich sind und in mancher Hinsicht sehr unterschiedlich sind.
  •  Beide enthalten Variablen verschiedener Datentypen, verwenden jedoch dieselbe Syntax für die Deklaration von Variablen und zugreifenden Mitgliedern. Während eine Struktur durch das Schlüsselwort "Struktur" definiert wird, wird eine Gewerkschaft durch das Schlüsselwort "Union" definiert.
  • Jedes Mitglied erhält einen separaten Speicherort in einer Struktur, während in einer Vereinigung der Gesamtspeicherraum dem größten Mitglied der Größen entspricht. Alle Mitglieder teilen den gleichen Speicherraum in einer Gewerkschaft.
  • Jedes Mitglied in jeder Reihenfolge kann in einer Struktur zugegriffen werden, während in einer Gewerkschaft nur auf diese Variable zugegriffen werden kann, auf deren Wert kürzlich gespeichert wird.