Unterschied zwischen Struktur und Vereinigung in C

Unterschied zwischen Struktur und Vereinigung in C
Die C -Programmiersprache C bietet Programmierern verschiedene Datentypen, um Daten im Speicher zur Verarbeitung zu speichern. Unter diesen Datentypen, Strukturen und Gewerkschaften befinden sich zwei häufig verwendete Datenatypen in der C -Programmierung, um mehrere Variablen verschiedener Datentypen in eine einzelne Einheit zu gruppieren. Sowohl Strukturen als auch Gewerkschaften werden vom Programmierer definiert und dienen ähnlichen Zwecken. Sie unterscheiden sich jedoch in verschiedenen Aspekten, einschließlich Speicher, Speicherzuweisung und Verwendung.

Der Artikel bietet eine vergleichende Analyse zwischen Struktur und Vereinigung in der C -Programmiersprache C.

Struktur in c

Eine Struktur in C ist ein benutzerdefinierter Datentyp, mit dem Programmierer Variablen verschiedener Datentypen in eine einzelne Entität gruppieren können. Eine Struktur kann Mitglieder enthalten, die Variablen eines beliebigen Datentyps sein können, z. B. Ganzzahlen, Schwimmer, Arrays oder sogar andere Strukturen. Um eine Struktur in C zu deklarieren, müssen Sie das Schlüsselwort verwenden "Struktur" gefolgt vom Namen der Struktur und ihrer Mitgliedsvariablen, wie im folgenden Beispiel gezeigt:

Erklärung einer Struktur in c

Das Folgende ist die Strukturdeklaration in der C -Programmierung.

struct_keyword struct_name
Data_Type1 Mitglied1;
Data_Type2 Mitglied2;
;

Union in c

Eine Vereinigung in C ist auch ein benutzerdefinierter Datentyp, mit dem der Programmierer verschiedene Datenarten im selben Speicherort speichern kann. Im Gegensatz zu Strukturen haben die Gewerkschaften nur einen Speicherort, der von allen ihren Mitgliedern geteilt wird. Daher kann nur ein Gewerkschaftsmitglied gleichzeitig darauf zugreifen. Die Größe einer Gewerkschaft wird an der Größe ihres größten Mitglieds gemessen.

Erklärung einer Gewerkschaft in C

Hier ist ein Beispiel dafür, wie man eine Gewerkschaft in C deklariert.

UNION_KEYWORD UNION_NAME
Data_Type1 Mitglied1;
Data_Type2 Mitglied2;
;

Unterschied zwischen Struktur und Vereinigung in C

Die folgende Tabelle zeigt den Unterschied zwischen Struktur und Vereinigung in der C -Programmierung.

Besonderheit Struktur Union
Definition Sammlung verwandter Datenmitglieder Der gleiche Speicherort wird von allen Mitgliedern geteilt
Speicherzuweisung Verteilt den Speicher für alle Mitglieder Verleiht dem größten Mitglied den Gedächtnis
Mitglieder initialisieren Kann einzeln oder als Ganzes initialisiert werden Kann nur ein Mitglied gleichzeitig initialisieren
Standardinitialisierung Die Mitglieder werden auf Standardwerte initialisiert Mitglieder werden standardmäßig nicht initialisiert
Größenberechnung Die Summe der Größen aller Mitglieder Größe des größten Mitglieds
Anwendungsfälle Wird verwendet, um mehrere Datenarten zu speichern und gemeinsam auf sie zuzugreifen Wird verwendet, um Speicher zu speichern, wenn mehrere Datentypen denselben Speicherort teilen
Zugriff auf Mitglieder Verwenden von Mitgliedsname und Punkt (.) Operator Verwenden von Mitgliedsname und Punkt (.) Operator

Das Folgende ist ein Codierungsbeispiel, das den Unterschied zwischen Struktur und Vereinigung in der C -Programmierung veranschaulicht.

#enthalten
Struktur Mystruct
int a;
Char B;
;
Union myunion
int x;
Char y;
;
int main ()
Struktur Mystruct Mystruct;
Mystruct.a = 10;
Mystruct.B = 'a';
Union Myunion Myunion;
Myunion.x = 10;
Myunion.y = 'a';
printf ("Strukturwerte: %d, %c \ n", Mystruct.A, Mystruct.B);
printf ("Gewerkschaftswerte: %d, %c \ n", myunion.X, Myunion.y);
Rückkehr 0;

Im obigen Code haben wir eine Struktur benannt definiert Mystruct das enthält eine Ganzzahl und einen Charakter und eine Vereinigung namens Myunion das enthält auch eine Ganzzahl und einen Charakter. Wir erstellen dann Instanzen von beidem Mystruct Und Myunion und setzen ihre Werte. Wir setzen den Ganzzahlwert von sowohl auf 10 als auch auf den Charakterwert von beidem auf 'A'.

Wenn wir die Werte der Struktur und der Vereinigung ausdrucken, können wir feststellen, dass die Struktur separate Variablen für die Ganzzahl und das Zeichen hat, und jede Variable behält ihren Wert bei. Die Ausgabe ist unten dargestellt:

Schlussfolgerung

Struktur und Vereinigung sind zwei verschiedene Datenatypen, die eine ähnliche Syntax in der C -Sprache haben. Sie unterscheiden sich in einigen Aspekten wie Speicher, Speicherzuweisung, Benutzerfreundlichkeit und anderen Funktionen. Dieser Artikel zeigt einen einfachen Leitfaden, um einen detaillierten Vergleich zwischen Struktur und Vereinigung zu finden, gefolgt von Codierungsbeispielen, die beide in der C -Programmierung eindeutig unterscheiden.