Heim >Backend-Entwicklung >C++ >Erklären Sie Union-Zeiger in der Sprache C
Eine Union ist ein Speicherort, der von mehreren Variablen unterschiedlicher Datentypen gemeinsam genutzt wird.
Die Syntax des Zeigers auf die Vereinigung in der C-Programmierung lautet wie folgt:
union uniontag{ datatype member 1; datatype member 2; ---- ---- datatype member n; };
Das folgende Beispiel zeigt die Verwendung der Vereinigung von Strukturen.
union sample{ int a; float b; char c; };
Das Folgende ist die Deklaration von Gelenkvariablen. Es gibt drei Typen wie folgt:
union sample{ int a; float b; char c; }s;
union{ int a; float b; char c; }s;
union sample{ int a; float b; char c; }; union sample s;
Wenn eine Union deklariert wird, kompilieren Sie The Der Compiler erstellt automatisch Variablentypen mit der größten Größe, um die Variablen in der Union aufzunehmen.
Es kann immer nur eine Variable referenziert werden.
Verwenden Sie dieselbe strukturelle Syntax, um auf Gewerkschaftsmitglieder zuzugreifen.
Der Punktoperator wird verwendet, um auf Mitglieder zuzugreifen.
Der Pfeiloperator (->) wird verwendet, um mithilfe von Zeigern auf Elemente zuzugreifen.
Wir können Zeiger auf Gewerkschaften verwenden und den Pfeiloperator (->) verwenden, um auf Mitglieder zuzugreifen, genau wie auf eine Struktur.
Das folgende Programm zeigt die Verwendung von Zeigern auf Union in der C-Programmierung –
Live-Demo
#include <stdio.h> union pointer { int num; char a; }; int main(){ union pointer p1; p1.num = 75; // p2 is a pointer to union p1 union pointer* p2 = &p1; // Accessing union members using pointer printf("%d %c", p2->num, p2->a); return 0; }
Wenn das obige Programm ausgeführt wird, erzeugt es das folgende Ergebnis –
75 K
Überlegen Sie das gleiche Beispiel mit unterschiedlichen Eingaben.
Live-Demonstration
#include <stdio.h> union pointer { int num; char a; }; int main(){ union pointer p1; p1.num = 90; // p2 is a pointer to union p1 union pointer* p2 = &p1; // Accessing union members using pointer printf("%d %c", p2->num, p2->a); return 0; }
Wenn das obige Programm ausgeführt wird, erzeugt es die folgenden Ergebnisse: -
90 Z
Das obige ist der detaillierte Inhalt vonErklären Sie Union-Zeiger in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!