Unterschied zwischen Struktur und Union in C
Was ist Struktur?
Eine Struktur ist ein benutzerdefinierter Datentyp in der Programmiersprache C, der logisch zusammengehรถrige Datenelemente unterschiedlicher Datentypen miteinander kombiniert.
Alle Strukturelemente werden an zusammenhรคngenden Speicherorten gespeichert. Strukturtypvariablen kรถnnen mehr als ein Datenelement unterschiedlicher Datentypen unter einem Namen speichern.
Was ist Union?
Union ist ein benutzerdefinierter Datentyp, genau wie eine Struktur. Union kombiniert Objekte unterschiedlicher Art und Grรถรe miteinander. Die Union-Variable weist den Speicherplatz zu, der dem Platz fรผr die grรถรte Union-Variable entspricht. Dadurch kรถnnen unterschiedliche Objekttypen denselben Standort nutzen.
Syntax der Deklarationsstruktur
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 Kรถrperteil wird mit einem Semikolon (;) abgeschlossen.
Beispiel fรผr eine 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 (Zeichenfolge), 2) roll_no (Ganzzahl) und 3) Markierungen (Float).
Anschlieรend wird eine Strukturvariable sdt erstellt, um Schรผlerinformationen zu speichern und auf dem Computerbildschirm anzuzeigen.
Ausgang:
Geben Sie die folgenden Informationen:
Geben Sie den Namen des Schรผlers ein: James
Geben Sie die Matrikelnummer ein: 21
Geben Sie die Noten der Schรผler ein: 67
Die von Ihnen eingegebenen Informationen sind:
Schรผlername: John
Studentenlistennummer: 21
Schรผlernoten: 67.0
Syntax der Unionserklรค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 einzelne Gewerkschaftsmitglieder. Der Kรถrperteil 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;
}
Ausgang:
1101109601
20.199892
a
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 in der Union der Speicherort von allen Mitgliedsdatentypen gemeinsam genutzt wird.
Daher belegt das einzige Datenelement, dessen Wert derzeit gespeichert ist, Speicherplatz. Der Wert der Variablen ch wurde zuletzt gespeichert, also der Wert des Rests Variablen ist verloren.
Struktur vs. Union

Hier ist der wichtige Unterschied zwischen Struktur und Vereinigung:
| Struktur | Union |
|---|---|
| Sie kรถnnen ein Strukturschlรผsselwort verwenden, um eine Struktur zu definieren. | Sie kรถnnen ein Union-Schlรผsselwort verwenden, um eine Union zu definieren. |
| Jedem Mitglied innerhalb der Struktur wird ein eindeutiger Speicherort zugewiesen. | Bei der Union wird ein Speicherort von allen Datenmitgliedern gemeinsam genutzt. |
| Das รndern des Werts eines Datenelements hat keine Auswirkungen auf andere Datenelemente in der Struktur. | Wenn Sie den Wert eines Datenelements รคndern, รคndert sich auch der Wert anderer Datenelemente in der Union. |
| Es ermรถglicht Ihnen, mehrere Mitglieder gleichzeitig zu initialisieren. | Es ermรถglicht Ihnen, nur das erste Mitglied der Union zu initialisieren. |
| Die Gesamtgrรถรe der Struktur ist die Summe der Grรถรe jedes Datenelements. | Die Gesamtgrรถรe der Union entspricht der Grรถรe des grรถรten Datenelements. |
| Es wird hauptsรคchlich zum Speichern verschiedener Datentypen verwendet. | Es wird hauptsรคchlich zum Speichern eines der vielen verfรผgbaren Datentypen verwendet. |
| Es belegt Platz fรผr jedes einzelne Mitglied, das in inneren Parametern geschrieben ist. | Es belegt Platz fรผr ein Mitglied mit der hรถchsten in inneren Parametern geschriebenen Grรถรe. |
| Sie kรถnnen jedes Mitglied gleichzeitig abrufen. | Sie kรถnnen jeweils auf ein Mitglied der Gewerkschaft zugreifen. |
| Es unterstรผtzt flexible Arrays. | Es unterstรผtzt kein flexibles Array. |
Vorteile der Struktur
Hier sind die Vorteile/Vorteile der Verwendung von Struktur:
- Strukturen sammeln mehr als eine Dateneinheit zum gleichen Thema am selben Ort.
- Dies ist hilfreich, wenn Sie Daten รคhnlicher Datentypen und Parameter wie Vorname, Nachname usw. erfassen mรถchten.
- Die Pflege ist sehr einfach, da wir den gesamten Datensatz mit einem einzigen Namen darstellen kรถnnen.
- Strukturell kรถnnen wir mit einem einzigen Parameter einen vollstรคndigen Satz von Datensรคtzen an jede Funktion รผbergeben.
- Sie kรถnnen eine Array-Struktur verwenden, um mehr Datensรคtze mit รคhnlichen Typen zu speichern.
Vorteile der Gewerkschaft
Hier sind die Vor- und Vorteile der 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 nur eines Datenelements zu speichern.
- Der zugewiesene Speicherplatz entspricht der maximalen Grรถรe des Datenelements.
Nachteile der Struktur
Hier sind die Vor- und Nachteile der Verwendung von Struktur:
- Wenn die Komplexitรคt eines IT-Projekts die Grenzen รผberschreitet, wird es schwer, es zu bewรคltigen.
- Die รnderung einer Datenstruktur im Code erfordert รnderungen an vielen anderen Stellen. Daher werden die รnderungen schwer zu handhaben. track.
- Die Struktur ist langsamer, da sie Speicherplatz fรผr alle Daten benรถtigt.
- Sie kรถnnen in der Struktur jeweils jedes Mitglied abrufen, wรคhrend Sie in der Union jeweils auf ein Mitglied zugreifen kรถnnen.
- Die Struktur belegt Platz fรผr jedes einzelne in innere Parameter geschriebene Mitglied, wรคhrend die Union Platz fรผr ein Mitglied mit der hรถchsten in inneren Parametern geschriebenen Grรถรe einnimmt.
- Struktur unterstรผtzt flexible Anordnung. Union unterstรผtzt kein flexibles Array.
Nachteile der Gewerkschaft
Hier sind die Vor- und Nachteile der Verwendung von Union:
- Sie kรถnnen jeweils nur ein Gewerkschaftsmitglied einsetzen.
- Es kรถnnen nicht alle Union-Variablen gleichzeitig initialisiert oder mit unterschiedlichen Werten verwendet werden.
- Union weist allen seinen Mitgliedern einen gemeinsamen Speicherplatz zu.
WICHTIGSTE UNTERSCHIEDE:
- Jedem Mitglied innerhalb der Struktur wird ein eindeutiger Speicherort zugewiesen, wรคhrend in der Union ein Speicherort von allen Datenmitgliedern gemeinsam genutzt wird.
- Das รndern des Werts eines Datenelements hat keine Auswirkungen auf andere Datenelemente in der Struktur, wรคhrend das รndern des Werts eines Datenelements den Wert anderer Datenelemente in der Union รคndert.
- Struktur wird hauptsรคchlich zum Speichern verschiedener Datentypen verwendet, wรคhrend Union hauptsรคchlich zum Speichern eines der vielen Datentypen verwendet wird.
- In der Struktur kรถnnen Sie jedes Mitglied gleichzeitig abrufen, in der Union hingegen kรถnnen Sie jeweils auf ein Mitglied zugreifen.
- Structure unterstรผtzt flexible Arrays, wรคhrend Union kein flexibles Array unterstรผtzt.
Schauen Sie sich auch unser C-Tutorial fรผr Anfรคnger an:- Mehr Info
