Contents
Was ist Struktur in C?
Struktur ist eine Gruppe von Variablen unterschiedlicher Datentypen, die durch einen einzigen Namen dargestellt werden. Array-ähnliche Strukturen werden verwendet, um eine Sammlung von Datenelementen darzustellen, jedoch von ähnlichen und unterschiedlichen Typen unter Verwendung des einzelnen Namens. Struktur ist ein benutzerdefinierter Datentyp, bei dem wir eine Datenstruktur entwerfen und deklarieren müssen, bevor die Variablen dieses Typs deklariert und verwendet werden. Strukturen helfen also, komplexe Daten sinnvoll zu organisieren.
Der Hauptunterschied zwischen Strukturen und Unions in C besteht darin, dass Struktur einen separaten Speicherort besitzt, der jedem Mitglied zugewiesen wird. Im Gegensatz dazu besitzen die Mitglieder, die eine Gewerkschaft bilden, den gleichen Speicherplatz.
Was Sie über Struktur wissen müssen
- Mitglieder der Struktur teilen sich den Speicher nicht. Eine Struktur benötigt also einen separaten Speicherplatz für alle ihre Mitglieder, dh alle Mitglieder haben einen eindeutigen Speicher.
- Um die Struktur zu definieren, wird das Schlüsselwort ‘ struct’ ‘ verwendet.
- Die erforderliche Gesamtspeichergröße entspricht der Summe der Speichergröße aller Member in der Struktur.
- Alle Mitglieder sind gleichzeitig erreichbar.
- Alle Mitglieder der Struktur können initialisiert werden.
- Eine unbekannte Struktur kann nicht deklariert werden.
- Es wird ein einziger Weg zum Betrachten jeder Speicherstelle bereitgestellt.
- Eine Wertänderung eines Mitglieds hat keinen Einfluss auf den Wert anderer Mitglieder.
- Wird verwendet, wenn Programmierer unterschiedliche Werte für alle Member in unterschiedlichem Speicher speichern müssen.
- Die Struktur speichert verschiedene Werte für ihre Mitglieder.
Was ist Union in C?
Eine Union ist ein spezieller in C verfügbarer Datentyp, der es ermöglicht, verschiedene Datentypen an derselben Speicherstelle zu speichern. Sie können eine Union mit vielen Mitgliedern definieren, aber nur ein Mitglied kann zu einem bestimmten Zeitpunkt einen Wert enthalten. Unions bieten eine effiziente Möglichkeit, denselben Speicherort für mehrere Zwecke zu verwenden. Im Allgemeinen verwenden C-Programmierer eine Union zum Speichern von Werten, die zu mehreren Datentypen gehören.
Gewerkschaften ähneln konzeptionell Strukturen. Die Syntax zum Deklarieren/Definieren einer Union ähnelt ebenfalls der einer Struktur. Der einzige Unterschied besteht in der Lagerung. In der Struktur hat jedes Mitglied seinen eigenen Speicherort, während alle Mitglieder von union einen einzigen gemeinsam genutzten Speicherort verwenden, der der Größe seines größten Datenmitglieds entspricht.
Das Schlüsselwort ‘ ‘union” definiert union, und seine Deklaration ist der einer Struktur sehr ähnlich. Hier ist die Variable in der Lage, Werte verschiedener Datentypen zu speichern – sei es ein Integer, String oder Float.
Was Sie über Union wissen müssen
- Eine Gewerkschaft teilt den Speicherplatz unter ihren Mitgliedern, sodass nicht allen Mitgliedern Speicher zugewiesen werden muss. Der gemeinsam genutzte Speicherplatz wird zugewiesen, dh entspricht der Größe des Mitglieds mit dem größten Speicher.
- Um union zu definieren, wird das Schlüsselwort „ union“ verwendet.
- Die erforderliche Gesamtspeichergröße entspricht der Speichergröße, die vom größten Datenmember in der Union benötigt wird.
- Es kann jeweils auf ein Element zugegriffen werden, dessen Wert kürzlich im Speicher gespeichert wurde.
- Nur das erste Mitglied von union kann initialisiert werden.
- Eine anonyme Vereinigung kann deklariert werden.
- Bietet mehrere Möglichkeiten, denselben Speicherort anzuzeigen.
- Die Wertänderung eines Mitglieds wirkt sich auf den Wert anderer Mitglieder aus.
- Wird verwendet, wenn Typkonvertierungen erforderlich sind.
- Union speichert denselben Wert, der allen Mitgliedern zugewiesen wird.
Unterschied zwischen Struktur und Vereinigung in Tabellenform
VERGLEICHSGRUNDLAGE | STRUKTUR | UNION |
Speicherfreigabe | Mitglieder der Struktur teilen sich den Speicher nicht. Eine Struktur benötigt also einen separaten Speicherplatz für alle ihre Mitglieder, dh alle Mitglieder haben einen eindeutigen Speicher. | Eine Gewerkschaft teilt den Speicherplatz unter ihren Mitgliedern, sodass nicht allen Mitgliedern Speicher zugewiesen werden muss. Der gemeinsam genutzte Speicherplatz wird zugewiesen, dh entspricht der Größe des Mitglieds mit dem größten Speicher. |
Stichwort | Um die Struktur zu definieren, wird das Schlüsselwort ‘ struct’ ‘ verwendet. | Um union zu definieren, wird das Schlüsselwort „ union“ verwendet. |
Gesamtspeichergröße | Die erforderliche Gesamtspeichergröße entspricht der Summe der Speichergröße aller Member in der Struktur. | Die erforderliche Gesamtspeichergröße entspricht der Speichergröße, die vom größten Datenmember in der Union benötigt wird. |
Zugang von Mitgliedern | Alle Mitglieder sind gleichzeitig erreichbar. | Es kann jeweils auf ein Element zugegriffen werden, dessen Wert kürzlich im Speicher gespeichert wurde. |
Initialisierung | Alle Mitglieder der Struktur können initialisiert werden. | Nur das erste Mitglied von union kann initialisiert werden. |
Erklärung | Eine unbekannte Struktur kann nicht deklariert werden. | Eine anonyme Vereinigung kann deklariert werden. |
Anzeigen des Speicherplatzes | Es wird ein einziger Weg zum Betrachten jeder Speicherstelle bereitgestellt. | Bietet mehrere Möglichkeiten, denselben Speicherort anzuzeigen. |
Wertänderung der Mitglieder | Eine Wertänderung eines Mitglieds hat keinen Einfluss auf den Wert anderer Mitglieder. | Die Wertänderung eines Mitglieds wirkt sich auf den Wert anderer Mitglieder aus. |
Verwenden | Wird verwendet, wenn Programmierer unterschiedliche Werte für alle Member in unterschiedlichem Speicher speichern müssen. | Wird verwendet, wenn Typkonvertierungen erforderlich sind. |
Wertaufbewahrung | Die Struktur speichert verschiedene Werte für ihre Mitglieder. | Union speichert denselben Wert, der allen Mitgliedern zugewiesen wird. |
Ähnlichkeiten zwischen Struktur und Union
- Sowohl Struktur als auch Union haben die gleiche Art, sich selbst zu deklarieren, Variablen zu erstellen und auf die Mitglieder der Variablen zuzugreifen.
- Die Mitglieder einer Union und Struktur können in Form von Objekten eines beliebigen Datentyps vorliegen, einschließlich Arrays oder anderer Unions und Strukturen. Es ist auch möglich, dass ein Mitglied aus einem Bitfeld besteht.
- Sowohl Struktur als auch Union können sowohl von den Methoden call by value als auch call by reference an eine Funktion übergeben werden.
- Sowohl Struktur als auch Union haben die gleiche Möglichkeit, auf Datenmember zuzugreifen, indem die Membervariable gefolgt vom Punktoperator (.) verwendet wird.
- Sowohl Struktur als auch Union können als Wert an Funktionen übergeben und als Wert von Funktionen zurückgegeben werden.
- Sowohl Strukturen als auch Unions unterstützen nur die Operatoren Assign = und sizeof .