Unterschied zwischen Struktur und Union
Was ist Struktur?
Struktur ist ein benutzerdefinierter Datentyp in der Programmiersprache C, der logisch zusammenhängende Datenelemente verschiedener Datentypen miteinander kombiniert.
Alle Strukturelemente werden an zusammenhängenden Speicherstellen gespeichert. Der Strukturtyp Variable kann mehr als ein Datenelement unterschiedlicher Datentypen unter einem Namen speichern.
In diesem Tutorial lernen Sie:
- Was ist Struktur?
- Was ist Union
- Syntax der Strukturdeklaration
- Beispiel einer Struktur in der C-Programmierung
- Syntax für die Vereinigungserklärung
- Beispiel für Union in der C-Programmierung
- Struktur vs. Vereinigung
- Vorteile der Struktur
- Vorteile der Vereinigung
- Nachteile der Struktur
- Nachteile der Vereinigung
Was ist Union
Union ist ein benutzerdefinierter Datentyp, genau wie eine Struktur. Union verbindet Objekte unterschiedlicher Art und Größe miteinander. Die Union-Variable weist den Speicherplatz zu, der dem Platz entspricht, um die größte Union-Variable zu halten. Es ermöglicht verschiedenen Arten von Objekten, denselben Ort zu teilen.
Syntax der Strukturdeklaration
struct [name of the structure] { type member1; type member2; type member3; };
Die Struktur wird mit dem Schlüsselwort „struct“ und dem Namen der Struktur deklariert. Nummer 1, Nummer 2, Nummer 3 sind einzelne Mitglieder der Struktur. Der Textteil wird mit einem Semikolon (;) abgeschlossen.
Beispiel einer Struktur in der C-Programmierung
#include <stdio.h> struct student { char name[60]; int roll_no; float marks; } sdt; int main() { printf("Enter the following information:\n"); printf("Enter student name: "); fgets(sdt.name, sizeof(sdt.name), stdin); printf("Enter student roll number: "); scanf("%d", & sdt. roll_no); printf("Enter students marks: "); scanf("%f", & sdt.marks); printf("The information you have entered is: \n"); printf("Student name: "); printf("%s", sdt.name); printf("Student roll number: %d\n", sdt. roll_no); printf("Student marks: %.1f\n", sdt.marks); return 0; }
Im obigen Programm wird eine Struktur namens Student erstellt. Diese Struktur hat drei Datenelemente:1) name (string), 2) roll_no (integer) und 3)marks (float).
Danach wird eine Strukturvariable sdt erstellt, um Schülerinformationen zu speichern und auf dem Computerbildschirm anzuzeigen.
Ausgabe:
Geben Sie die folgenden Informationen ein:
Schülernamen eingeben:James
Geben Sie die Schülernummer ein:21
Geben Sie die Schülernoten ein:67
Die von Ihnen eingegebenen Informationen sind:
Schülername:John
Schülernummer:21
Schülernoten:67,0
Syntax der Vereinigungserklärung
union [name of union] { type member1; type member2; type member3; };
Union wird mit dem Schlüsselwort „union“ und dem Namen der Union deklariert. Nummer 1, Nummer 2, Nummer 3 sind Einzelmitglieder der Gewerkschaft. Der Textteil wird mit einem Semikolon (;) abgeschlossen.
Beispiel für Union in der C-Programmierung
#include <stdio.h> union item { int x; float y; char ch; }; int main( ) { union item it; it.x = 12; it.y = 20.2; it.ch = 'a'; printf("%d\n", it.x); printf("%f\n", it.y); printf("%c\n", it.ch); return 0; }
Ausgabe:
1101109601
20.199892
ein
Im obigen Programm können Sie sehen, dass die Werte von x und y beschädigt werden. Nur die Variable ch gibt das erwartete Ergebnis aus. Dies liegt daran, dass der Speicherort gemeinsam von allen Mitgliedsdatentypen gemeinsam genutzt wird.
Daher belegt das einzige Datenelement, dessen Wert gegenwärtig gespeichert ist, Speicherplatz. Der Wert der Variable ch wurde zuletzt gespeichert, also geht der Wert der restlichen Variablen verloren.
Struktur vs. Vereinigung
Hier ist der wichtige Unterschied zwischen Struktur und Vereinigung:
Struktur Gewerkschaft Sie können ein Struct-Schlüsselwort verwenden, um eine Struktur zu definieren. Sie können ein Union-Schlüsselwort verwenden, um eine Union zu definieren. Jedem Mitglied innerhalb einer Struktur wird ein eindeutiger Speicherort zugewiesen. Bei Union wird ein Speicherort von allen Datenmitgliedern gemeinsam genutzt eines Datenelements wirkt sich nicht auf andere Datenelemente in der Struktur aus. Das Ändern des Werts eines Datenelements ändert den Wert anderer Datenelemente in Union. Es ermöglicht Ihnen, mehrere Elemente gleichzeitig zu initialisieren. Es ermöglicht Ihnen, nur das erste Element zu initialisieren der Vereinigung. Die Gesamtgröße der Struktur ist die Summe der Größe jedes Datenelements. Die Gesamtgröße der Vereinigung ist die Größe des größten Datenelements. Sie wird hauptsächlich zum Speichern verschiedener Datentypen verwendet Speichern eines der vielen verfügbaren Datentypen. Es belegt Platz für jedes einzelne Mitglied, das in inneren Parametern geschrieben ist. Es belegt Platz für ein Mitglied mit der größten Größe, das in inneren Parametern geschrieben ist. Sie können jedes Mitglied gleichzeitig abrufen. Sie können Zugriff auf ein Mitglied er gleichzeitig in der Union. Es unterstützt flexible Arrays. Es unterstützt kein flexibles Array.Vorteile der Struktur
Hier sind die Vorteile/Vorteile für die Verwendung von Strukturen:
- Strukturen sammeln mehr als ein Datenelement zu demselben Thema an derselben Stelle.
- Es ist hilfreich, wenn Sie Daten ähnlicher Datentypen und Parameter wie Vorname, Nachname usw. sammeln möchten.
- Es ist sehr einfach zu pflegen, da wir den gesamten Datensatz mit einem einzigen Namen darstellen können.
- In der Struktur können wir mit einem einzigen Parameter einen vollständigen Satz von Datensätzen an jede Funktion übergeben.
- Sie können ein Array von Strukturen verwenden, um mehr Datensätze mit ähnlichen Typen zu speichern.
Vorteile der Vereinigung
Hier sind die Vorteile/Vorteile für die Verwendung von union:
- Es belegt im Vergleich zur Struktur weniger Speicher.
- Wenn Sie Union verwenden, kann nur auf die letzte Variable direkt zugegriffen werden.
- Union wird verwendet, wenn Sie denselben Speicherort für zwei oder mehr Datenelemente verwenden müssen.
- Es ermöglicht Ihnen, Daten von nur einem Datenelement zu speichern.
- Sein zugewiesener Speicherplatz entspricht der maximalen Größe des Datenmembers.
Nachteile der Struktur
Hier sind Nachteile/Nachteile für die Verwendung von Strukturen:
- Wenn die Komplexität eines IT-Projekts die Grenzen überschreitet, wird es schwierig, es zu verwalten.
- Die Änderung einer Datenstruktur in einem Code erfordert Änderungen an vielen anderen Stellen. Daher sind die Änderungen schwer nachzuverfolgen.
- Die Struktur ist langsamer, weil sie Speicherplatz für alle Daten benötigt.
- Sie können in der Struktur jedes Mitglied gleichzeitig abrufen, während Sie in der Vereinigung jeweils auf ein Mitglied zugreifen können.
- Struktur belegt Platz für jedes einzelne Mitglied, das in inneren Parametern geschrieben ist, während Union Platz für ein Mitglied mit der größten Größe belegt, das in inneren Parametern geschrieben ist.
- Struktur unterstützt flexibles Array. Union unterstützt kein flexibles Array.
Nachteile der Vereinigung
Hier sind Nachteile/Nachteile für die Verwendung von union:
- Sie können jeweils nur ein Gewerkschaftsmitglied verwenden.
- Es können nicht alle Union-Variablen gleichzeitig initialisiert oder mit unterschiedlichen Werten verwendet werden.
- Union weist allen seinen Mitgliedern einen gemeinsamen Speicherplatz zu.
WICHTIGE UNTERSCHIEDE:
- Jedem Mitglied innerhalb einer Struktur wird ein eindeutiger Speicherort zugewiesen, während in Union ein Speicherort von allen Datenmitgliedern geteilt wird.
- Das Ändern des Werts eines Datenelements wirkt sich nicht auf andere Datenelemente in der Struktur aus, während das Ändern des Werts eines Datenelements den Wert anderer Datenelemente in Union ändert.
- Struktur wird hauptsächlich zum Speichern verschiedener Datentypen verwendet, während Vereinigung hauptsächlich zum Speichern eines der vielen Datentypen verwendet wird.
- In der Struktur können Sie jedes Mitglied gleichzeitig abrufen, andererseits können Sie in Union auf jeweils ein Mitglied zugreifen.
- Structure unterstützt flexible Arrays, während union keine flexiblen Arrays unterstützt.
C Sprache
- Unterschied zwischen Asbest und Glasfaser
- Unterschied zwischen Struktur und Klasse:Erklärt mit C++-Beispiel
- C# vs. C++:Was ist der Unterschied zwischen C# und C++?
- Unterschied zwischen C und C++
- Unterschied zwischen C und Java
- Unterschied zwischen strlen() und sizeof() für Strings in C
- Python vs. JavaScript:Unterschied zwischen JavaScript und Python
- Der Unterschied zwischen Gleichstrom- und Wechselstrommotoren
- Unterschied zwischen Hartlöten und Weichlöten
- Unterschied zwischen 2-Takt- und 4-Takt-Motoren