Unterschied zwischen Struktur und Vereinigung in C

Unterschied zwischen Struktur und Vereinigung in C

Schlüsselunterschied - Struktur vs Union in c
 

Ein Array ist ein Daten, das von der C -Sprache unterstützt wird. Ein Array kann verwendet werden, um Datenelemente desselben Typs zu speichern. Wenn es eine Aussage als int Marks gibt [10]; Dann sind Markier. Manchmal müssen Datenelemente verschiedener Typen am selben Speicherort erforderlich sind. Zum Beispiel kann ein Mitarbeiter einen Mitarbeiter -ID, einen Namen, eine Abteilung, ein Alter usw. haben. Sie sind von verschiedenen Datentypen. Daher ist es notwendig, eine Methode zu haben, um verschiedene Datenelemente als einzelne Einheit zu speichern. Strukturen und Gewerkschaften in C werden zum Speichern von Datenelementen verschiedener Typen am selben Speicherort verwendet.Eine Struktur und eine Vereinigung sind ähnlich, unterscheiden sich jedoch hauptsächlich aufgrund der Speicherzuweisung. Der Speicher, der zum Speichern einer Strukturvariablen erforderlich ist, ist die Zusammenfassung der Speichergröße aller Mitglieder. Der Speicher, der zum Speichern einer Gewerkschaftsvariablen erforderlich ist, ist der Speicher, der für das größte Element in der Gewerkschaft erforderlich ist. Das ist der Schlüsselunterschied zwischen Struktur und Vereinigung in c. In diesem Artikel wird der Unterschied zwischen Struktur und Vereinigung in C erörtert.

INHALT

1. Überblick und wichtiger Unterschied
2. Was ist Struktur in C
3. Was ist Union in C
4. Ähnlichkeiten zwischen Struktur und Vereinigung in C
5. Seite an Seitenvergleich - Struktur gegen Vereinigung in C in tabellarischer Form
6. Zusammenfassung

Was ist Struktur in C?

Eine Struktur ist ein benutzerdefinierter Datentyp in c. Es 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 alle diese verschiedenen Datenelemente unter Verwendung einer Struktur in eine einzelne Einheit kompakt werden. Es wird mit dem Schlüsselwort "Struktur" definiert. In einer Struktur können jederzeit auf alle Mitglieder zugegriffen werden.Das Folgende erstellt einen abgeleiteten Datentypstruct -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. Das geschieht durch die Verwendung des Mitgliedsbetreibers (.) und Strukturzeigeroperator (->). Auf die Mitglieder kann mit Struktur_Variable_Name zugegriffen werden. Mitgliedsname. Wenn der Programmierer auf den Namen des Schülers 2 zugreifen möchte, kann er die Erklärung als printf (student2) schreiben.student_namename);

Verweisen Sie das folgende Programm mit einer Struktur.

Abbildung 01: C -Programm mit Strukturen

Nach dem obigen Programm ist der Schüler eine Struktur. Es enthält student_id und student_name. Zwei Variablen des Strukturtyps werden im Hauptprogramm deklariert. Sie heißen Student1 und Student2. Die ID des Student1 wird mit Wert 1 mit dem Mitgliedsbetreiber als Student1 zugewiesen.Student_id = 1. Der Name "Ann" ist eine Zeichenfolge. Daher wird es mit der String Copy Function Strcpy an das Mitglied student_name kopiert. Die ID und der Name werden Student2 auf ähnliche Weise zugewiesen. Schließlich werden diese Werte mit dem Mitgliederoperator gedruckt.

Die Menge an Speicher, die zum Speichern einer Strukturvariablen erforderlich ist, ist die Summe der Speichergröße aller Mitglieder. Der Student_ID enthält 4 Bytes und Student_Name enthält 20 Bytes (jeweils ein Byte für ein Zeichen). Die insgesamt 24 Bytes sind die Summe der Speichergröße, die von der Struktur erforderlich ist.

Was ist Union in C?

Eine Gewerkschaft ist ein benutzerdefinierter Datentyp in C. Es hilft, verschiedene Datentypen am selben Speicherort zu speichern. Ein Buch kann Eigenschaften wie book_name, Preis usw. haben. Anstatt für jeden von ihnen Variablen zu erstellen, kann eine Vereinigung verwendet werden, um alle Datentypen mit einer Einheit mit einer Gewerkschaft in eine Einheit zu verdichten. Es wird mit dem Schlüsselwort "Gewerkschaft" definiert.Das Folgende erstellt ein abgeleitetes Data Union -Buch.

Unionbook

Zeichenname [20];

Doppelpreis;

;

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

Union Book Book1, Buch2;

Es gibt zwei Methoden, um auf die Mitglieder der Gewerkschaft zuzugreifen. Das geschieht durch die Verwendung des Mitgliedsbetreibers (.) und Strukturzeigeroperator (->). Auf die Mitglieder kann mit Union_Variable_Name zugegriffen werden. Mitgliedsname. Wenn der Programmierer auf den Namen des Buches zugreifen möchte, kann er die Erklärung als printf schreiben (Buch1.Name);

Siehe das folgende Programm mit einer Gewerkschaft.

Abbildung 02: C -Programm mit Union

Nach dem obigen Programm ist das Buch eine Gewerkschaft. Das Buch1 ist eine Variable von Typ Union. Der Name und der Preis werden Werte zugewiesen. In der Union kann nur auf eines seiner Mitglieder zugegriffen werden, und alle anderen Mitglieder haben Müllwerte. Der Wert der ID druckt nicht ordnungsgemäß, aber der Preiswert druckt ordnungsgemäß aus.

Abbildung 03: Modifiziertes C -Programm mit Union

Nach dem obigen Programm ist Book eine Gewerkschaft. Das Buch1 und das Buch2 sind Gewerkschafts -Typ -Variablen. Erstens wird der Wert für Buch1 -Name zugewiesen und gedruckt. Dann wird der Wert für Buch2 -Name zugewiesen und gedruckt. Alle Mitglieder drucken korrekt, weil jeweils ein Mitglied verwendet wird.  Der Speicher, der zum Speichern einer Gewerkschaft erforderlich ist, ist der Speicher, der für das größte Element der Gewerkschaft erforderlich ist.  Im obigen Programm beträgt die Namensvariable 20 Bytes. Es ist größer als der Preis. Die Speicherzuweisung für die Gewerkschaft beträgt also 20 Bytes.

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

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

Was ist der Unterschied zwischen Struktur und Vereinigung in C?

Struktur gegen Vereinigung in c

Die Struktur ist ein benutzerdefinierter Datentyp in C-Sprache, mit dem Daten unterschiedlicher Typen miteinander kombiniert werden können. Union ist ein benutzerdefinierter Datentyp in C-Sprache, der es ermöglicht, Daten verschiedener Typen miteinander zu kombinieren.
 Barrierefreiheit
In einer Struktur können jederzeit auf alle Mitglieder zugegriffen werden. In einer Gewerkschaft kann nur auf eines seiner Mitglieder zugegriffen werden, und alle anderen Mitglieder enthalten Müllwerte.
Speicherzuweisung
Der Speicher, der zum Speichern einer Strukturvariablen erforderlich ist, ist die Zusammenfassung der Speichergröße aller Mitglieder. Der Speicher, der zum Speichern einer Gewerkschaftsvariablen erforderlich ist, ist der Speicher, der für das größte Element in der Gewerkschaft erforderlich ist.
 Stichwort
Das zum Definieren einer Struktur verwendete Schlüsselwort ist "struktur". Das zum Definieren einer Gewerkschaft verwendete Schlüsselwort ist "Gewerkschaft".

Zusammenfassung - Struktur vs Union in c

Ein Array wird verwendet, um die Datenelemente desselben Typs zu speichern. Manchmal ist es notwendig, Datenelemente verschiedener Typen an demselben Speicherort zu speichern. C Programmiersprache bietet Struktur und Vereinigung, um diese Aufgabe zu erfüllen. Beide sind benutzerdefinierte Datentypen. Der Speicher, der zum Speichern einer Strukturvariablen erforderlich ist, ist die Zusammenfassung der Speichergröße aller Mitglieder. Der Speicher, der zum Speichern einer Gewerkschaftsvariablen erforderlich ist, ist der Speicher, der für das größte Element in der Gewerkschaft erforderlich ist. Dies ist der Unterschied zwischen Struktur und Vereinigung in C.

Referenz:

1.Punkt, Tutorials. „Strukturen in c.”, Tutorials Punkt, 15. August. 2017. Hier verfügbar 
2.Punkt, Tutorials. „Gewerkschaften in C.” , Tutorials Punkt, 15. August. 2017. Hier verfügbar