Unterschied Zwischen Struktur Und Union In C

Inhaltsverzeichnis:

Unterschied Zwischen Struktur Und Union In C
Unterschied Zwischen Struktur Und Union In C

Video: Unterschied Zwischen Struktur Und Union In C

Video: Unterschied Zwischen Struktur Und Union In C
Video: Introduction to Unions in C 2024, November
Anonim

Hauptunterschied - Struktur gegen Union in C

Ein Array ist eine Datenstruktur, die von der C-Sprache unterstützt wird. In einem Array können Datenelemente desselben Typs gespeichert werden. Wenn es eine Anweisung als int-Zeichen gibt [10]; Dann sind Markierungen ein Array, in dem zehn Markierungen gespeichert werden können, und alle sind Ganzzahlen. Manchmal ist es erforderlich, Datenelemente unterschiedlichen Typs am selben Speicherort zu speichern. Ein Mitarbeiter kann beispielsweise eine Mitarbeiter-ID, einen Namen, eine Abteilung, ein Alter usw. haben. Es handelt sich um verschiedene Datentypen. Daher ist ein Verfahren zum Speichern verschiedener Datenelemente als eine Einheit erforderlich. Strukturen und Vereinigungen in C werden zum Speichern von Datenelementen unterschiedlichen Typs am selben Speicherort verwendet. Eine Struktur und eine Vereinigung sind ähnlich, unterscheiden sich jedoch hauptsächlich aufgrund der Speicherzuweisung. Der zum Speichern einer Strukturvariablen erforderliche Speicher ist die Summe der Speichergröße aller Mitglieder. Der zum Speichern einer Vereinigungsvariablen erforderliche Speicher ist der für das größte Element in der Vereinigung erforderliche Speicher. Das ist der Hauptunterschied zwischen Struktur und Vereinigung in C. Dieser Artikel beschreibt den Unterschied zwischen Struktur und Vereinigung in C.

INHALT

1. Überblick und Hauptunterschied

2. Was ist Struktur in C

3. Was ist Union in C

4. Ähnlichkeiten zwischen Struktur und Union in C

5. Nebeneinander Vergleich - Struktur gegen Union in C in tabellarischer Form

6. Zusammenfassung

Was ist Struktur in C?

Eine Struktur ist ein benutzerdefinierter Datentyp in C. Sie hilft, Datenelemente verschiedener Typen zu kombinieren. Eine Struktur kann Datensätze darstellen. Ein Schüler kann student_id, student_name usw. haben. Anstatt jede Variable separat zu speichern, können all diese verschiedenen Datenelemente mithilfe einer Struktur zu einer einzigen Einheit zusammengefasst werden. Es wird mit dem Schlüsselwort 'struct' definiert. In einer Struktur kann jederzeit auf alle Mitglieder zugegriffen werden. Im Folgenden wird ein abgeleiteter Datentyp struct Student erstellt.

struct Student {

intstudent_id;

char student_name [20];

};

Für die obige Struktur können Variablen wie folgt deklariert werden.

struct Student student1, student2, student3;

Es gibt zwei Methoden, um auf die Mitglieder der Struktur zuzugreifen. Dies geschieht mit dem Elementoperator (.) Und dem Strukturzeigeroperator (->). Auf die Mitglieder kann mit struct_variable_name zugegriffen werden. Mitgliedsname. Wenn der Programmierer auf den Namen des Schülers 2 zugreifen möchte, kann er die Anweisung als printf (student2.student_namename) schreiben.

Verweisen Sie auf das folgende Programm mit einer Struktur.

Unterschied zwischen Struktur und Union in C
Unterschied zwischen Struktur und Union in C

Abbildung 01: C-Programm mit Strukturen

Gemäß dem obigen Programm ist Student eine Struktur. Es enthält student_id und student_name. Im Hauptprogramm werden zwei Variablen vom Strukturtyp deklariert. Sie heißen student1 und student2. Die ID von student1 wird mit dem Member-Operator als student1.student_id = 1 mit dem Wert 1 zugewiesen. Der Name "Ann" ist eine Zeichenfolge. Daher wird es mit der Zeichenfolgenkopierfunktion strcpy in das Mitglied student_name kopiert. Die ID und der Name werden student2 auf ähnliche Weise zugewiesen. Schließlich werden diese Werte mit dem Elementoperator gedruckt.

Die zum Speichern einer Strukturvariablen erforderliche Speichermenge ist die Summe der Speichergröße aller Elemente. Die student_id enthält 4 Bytes und der student_name enthält 20 Bytes (jeweils ein Byte für ein Zeichen). Die Summe von 24 Bytes ist die Summe der von der Struktur benötigten Speichergröße.

Was ist Union in C?

Eine Union ist ein benutzerdefinierter Datentyp in C. Es hilft, verschiedene Datentypen am selben Speicherort zu speichern. Ein Buch kann Eigenschaften wie Buchname, Preis usw. haben. Anstatt Variablen für jede von ihnen zu erstellen, kann eine Union verwendet werden, um alle verschiedenen Datentypen mithilfe einer Union zu einer Einheit zu komprimieren. Es wird mit dem Schlüsselwort 'union' definiert. Im Folgenden wird ein abgeleitetes Datenvereinigungsbuch erstellt.

unionBook {

char name [20];

doppelter Preis;

};

Für die obige Vereinigung können Variablen wie folgt deklariert werden.

Gewerkschaftsbuch book1, book2;

Es gibt zwei Methoden, um auf die Gewerkschaftsmitglieder zuzugreifen. Dies geschieht mit dem Elementoperator (.) Und dem Strukturzeigeroperator (->). Auf die Mitglieder kann mit union_variable_name zugegriffen werden. Mitgliedsname. Wenn der Programmierer auf den Namen des Buches1 zugreifen möchte, kann er die Anweisung als printf (book1.name) schreiben.

Beziehen Sie sich auf das folgende Programm mit einer Gewerkschaft.

Unterschied zwischen Struktur und Vereinigung in C Abbildung 02
Unterschied zwischen Struktur und Vereinigung in C Abbildung 02

Abbildung 02: C-Programm mit Union

Nach dem obigen Programm ist das Buch eine Gewerkschaft. Das Buch1 ist eine Variable vom Typ Union. Der Name und der Preis sind zugewiesene Werte. In der Union kann jeweils nur auf eines ihrer Mitglieder zugegriffen werden, und alle anderen Mitglieder haben Müllwerte. Der Wert von id wird nicht richtig gedruckt, aber der Preiswert wird richtig gedruckt.

Schlüsseldifferenz zwischen Struktur und Union in C
Schlüsseldifferenz zwischen Struktur und Union in C

Abbildung 03: Modifiziertes C-Programm mit Union

Nach dem obigen Programm ist Book eine Gewerkschaft. Das Buch1 und das Buch2 sind Variablen vom Typ Union. Zunächst wird der Wert für den Namen book1 zugewiesen und gedruckt. Dann wird der Wert für den Namen book2 zugewiesen und gedruckt. Alle Mitglieder drucken korrekt, da jeweils ein Mitglied verwendet wird. Der zum Speichern einer Union erforderliche Speicher ist der für das größte Element der Union erforderliche Speicher. Im obigen Programm beträgt die Namensvariable 20 Bytes. Es ist größer als der Preis. Die Speicherzuordnung für die Union beträgt also 20 Bytes.

Was sind die Ähnlichkeiten zwischen Struktur und Union in C?

  • Sowohl Structure als auch Union in C sind benutzerdefinierte Datentypen.
  • Sowohl Structure als auch Union in C können verwendet werden, um verschiedene Datentypen am selben Speicherort zu speichern.

Was ist der Unterschied zwischen Struktur und Union in C?

Diff Artikel Mitte vor Tabelle

Struktur gegen Union in C

Structure ist ein benutzerdefinierter Datentyp in C-Sprache, mit dem Daten verschiedener Typen miteinander kombiniert werden können. Union ist ein benutzerdefinierter Datentyp in C-Sprache, mit dem Daten verschiedener Typen miteinander kombiniert werden können.
Barrierefreiheit
In einer Struktur kann jederzeit auf alle Mitglieder zugegriffen werden. In einer Gewerkschaft kann jeweils nur auf eines ihrer Mitglieder zugegriffen werden, und alle anderen Mitglieder enthalten Müllwerte.
Speicherzuweisung
Der zum Speichern einer Strukturvariablen erforderliche Speicher ist die Summe der Speichergröße aller Mitglieder. Der zum Speichern einer Vereinigungsvariablen erforderliche Speicher ist der für das größte Element in der Vereinigung erforderliche Speicher.
Stichwort
Das Schlüsselwort zum Definieren einer Struktur lautet 'struct'. Das Schlüsselwort zum Definieren einer Union lautet "Union".

Zusammenfassung - Struktur gegen Union in C

In einem Array werden die Datenelemente desselben Typs gespeichert. Manchmal ist es notwendig, Datenelemente unterschiedlichen Typs am selben Speicherort zu speichern. Die Programmiersprache C bietet Struktur und Vereinigung, um diese Aufgabe zu erfüllen. Beide sind benutzerdefinierte Datentypen. Der zum Speichern einer Strukturvariablen erforderliche Speicher ist die Summe der Speichergröße aller Mitglieder. Der zum Speichern einer Vereinigungsvariablen erforderliche Speicher ist der für das größte Element in der Vereinigung erforderliche Speicher. Dies ist der Unterschied zwischen Struktur und Vereinigung in C.

Empfohlen: