Unterschied zwischen Struktur und Vereinigung in C

Inhaltsverzeichnis:

Unterschied zwischen Struktur und Vereinigung in C
Unterschied zwischen Struktur und Vereinigung in C

Video: Unterschied zwischen Struktur und Vereinigung in C

Video: Unterschied zwischen Struktur und Vereinigung in C
Video: Intensivkurs C! - Komplexe Datenstrukturen | ITWorks4U 2024, Juli
Anonim

Hauptunterschied – Struktur vs. Union in C

Ein Array ist eine Datenstruktur, die von der C-Sprache unterstützt wird. Ein Array kann verwendet werden, um Datenelemente des gleichen Typs zu speichern. Wenn es eine Anweisung als int-Zeichen [10] gibt; dann sind Markierungen ein Array, das zehn Markierungen speichern kann, und alle sind ganze Zahlen. Manchmal ist es erforderlich, Datenelemente unterschiedlichen Typs an derselben Speicherstelle zu speichern. Beispielsweise kann ein Mitarbeiter eine Mitarbeiter-ID, einen Namen, eine Abteilung, ein Alter usw. haben. Sie haben unterschiedliche Datentypen. Daher ist es notwendig, ein Verfahren zum Speichern verschiedener Datenelemente als eine einzige Einheit zu haben. Strukturen und Unions in C werden verwendet, um Datenelemente unterschiedlicher Typen an derselben Speicherstelle zu speichern. 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 Union-Variable erforderliche Speicher ist der Speicher, der für das größte Element in der Union erforderlich ist. Das ist der Hauptunterschied zwischen Struktur und Vereinigung in C. Dieser Artikel beschreibt den Unterschied zwischen Struktur und Vereinigung in C.

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 Student kann student_id, student_name usw. haben. Anstatt jede Variable separat zu speichern, können all diese unterschiedlichen Datenelemente mithilfe einer Struktur zu einer einzigen Einheit kompaktiert werden. Es wird mit dem Schlüsselwort „struct“definiert. In einer Struktur kann jederzeit auf alle ihre Mitglieder zugegriffen werden. Das Folgende erzeugt einen abgeleiteten Datentyp struct Student.

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 durch Verwendung des Elementoperators (.) und des Strukturzeigeroperators (->). Auf die Mitglieder kann über Struktur_Variablenname zugegriffen werden. Mitgliedsname. Wenn der Programmierer auf den Namen des Schülers 2 zugreifen möchte, kann er die Anweisung schreiben als printf(student2.student_namename);

Beziehen Sie sich auf das untenstehende Programm mit einer Struktur.

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

Abbildung 01: C-Programm mit Strukturen

Nach obigem Programm ist Student eine Struktur. Es enthält student_id und student_name. Im Hauptprogramm werden zwei Variablen vom Typ Struktur deklariert. Sie heißen Student1 und Student2. Der ID von student1 wird der Wert 1 zugewiesen, indem der Elementoperator als student1.student_id=1 verwendet wird. Der Name „Ann“ist eine Zeichenfolge. Daher wird es mit der Zeichenfolgenkopierfunktion strcpy in das Element student_name kopiert. Die ID und der Name werden student2 auf ähnliche Weise zugewiesen. Schließlich werden diese Werte mit dem Member-Operator gedruckt.

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

Was ist Union in C?

Eine Vereinigung ist ein benutzerdefinierter Datentyp in C. Er hilft, verschiedene Datentypen am selben Speicherplatz zu speichern. Ein Buch kann Eigenschaften wie book_name, price 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. Sie wird mit dem Schlüsselwort „union“definiert. Im Folgenden wird eine abgeleitete Datenvereinigung Book erstellt.

unionBook{

Charaktername[20];

doppelter Preis;

};

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

union Buch buch1, buch2;

Es gibt zwei Methoden, um auf die Mitglieder der Gewerkschaft zuzugreifen. Dies geschieht durch Verwendung des Elementoperators (.) und des Strukturzeigeroperators (->). Auf die Member kann über union_variable_name zugegriffen werden. Mitgliedsname. Wenn der Programmierer auf den Namen von book1 zugreifen möchte, kann er die Anweisung schreiben als printf(book1.name);

Verweis auf das untenstehende 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 Vereinigung. book1 ist eine Variable vom Typ union. Dem Namen und dem Preis werden Werte zugewiesen. In Union kann jeweils nur auf eines seiner Mitglieder zugegriffen werden, und alle anderen Mitglieder haben Garbage-Werte. Der Wert von id wird nicht richtig gedruckt, aber der Preiswert wird richtig gedruckt.

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

Abbildung 03: Modifiziertes C-Programm mit union

Nach obigem Programm ist Book eine Vereinigung. book1 und book2 sind Variablen vom Typ Union. Zunächst wird der Wert für book1 name zugewiesen und gedruckt. Dann wird der Wert für book2 name zugewiesen und gedruckt. Alle Mitglieder werden korrekt gedruckt, da jeweils nur 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 ist die Namensvariable 20 Byte groß. Es ist größer als der Preis. Die Speicherzuordnung für die Vereinigung beträgt also 20 Byte.

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 Speicherplatz zu speichern.

Was ist der Unterschied zwischen Struktur und Union in C?

Structure vs Union in C

Structure ist ein benutzerdefinierter Datentyp in der Sprache C, der es ermöglicht, Daten verschiedener Typen miteinander zu kombinieren. Union ist ein benutzerdefinierter Datentyp in C-Sprache, der es ermöglicht, Daten verschiedener Typen miteinander zu kombinieren.
Zugänglichkeit
In einer Struktur kann jederzeit auf alle Mitglieder zugegriffen werden. In einer Union kann jeweils nur auf eines ihrer Mitglieder zugegriffen werden und alle anderen Mitglieder enth alten unbrauchbare Werte.
Speicherbelegung
Der zum Speichern einer Strukturvariablen benötigte Speicherplatz ist die Summe der Speichergröße aller Mitglieder. Der zum Speichern einer Union-Variable erforderliche Speicherplatz ist der Speicherplatz, der für das größte Element in der Union erforderlich ist.
Schlüsselwort
Das Schlüsselwort zum Definieren einer Struktur ist „struct“. Das Schlüsselwort zum Definieren einer Union ist ‘union’.

Zusammenfassung – Struktur vs. Union in C

Ein Array wird verwendet, um die Datenelemente des gleichen Typs zu speichern. Manchmal ist es erforderlich, Datenelemente unterschiedlichen Typs an derselben Speicherstelle zu speichern. Die Programmiersprache C bietet Struktur und Union, um diese Aufgabe zu erfüllen. Beides sind benutzerdefinierte Datentypen. Der zum Speichern einer Strukturvariablen erforderliche Speicher ist die Summe der Speichergröße aller Mitglieder. Der zum Speichern einer Union-Variable erforderliche Speicher ist der Speicher, der für das größte Element in der Union erforderlich ist. Dies ist der Unterschied zwischen Struktur und Vereinigung in C.

Empfohlen: