Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

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 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:

Vorteile der Vereinigung

Hier sind die Vorteile/Vorteile für die Verwendung von union:

Nachteile der Struktur

Hier sind Nachteile/Nachteile für die Verwendung von Strukturen:

Nachteile der Vereinigung

Hier sind Nachteile/Nachteile für die Verwendung von union:

WICHTIGE UNTERSCHIEDE:


C Sprache

  1. Unterschied zwischen Asbest und Glasfaser
  2. Unterschied zwischen Struktur und Klasse:Erklärt mit C++-Beispiel
  3. C# vs. C++:Was ist der Unterschied zwischen C# und C++?
  4. Unterschied zwischen C und C++
  5. Unterschied zwischen C und Java
  6. Unterschied zwischen strlen() und sizeof() für Strings in C
  7. Python vs. JavaScript:Unterschied zwischen JavaScript und Python
  8. Der Unterschied zwischen Gleichstrom- und Wechselstrommotoren
  9. Unterschied zwischen Hartlöten und Weichlöten
  10. Unterschied zwischen 2-Takt- und 4-Takt-Motoren