Heim  >  Artikel  >  Backend-Entwicklung  >  Erklären Sie Union-Zeiger in der Sprache C

Erklären Sie Union-Zeiger in der Sprache C

王林
王林nach vorne
2023-09-12 13:45:04623Durchsuche

Erklären Sie Union-Zeiger in der Sprache C

Eine Union ist ein Speicherort, der von mehreren Variablen unterschiedlicher Datentypen gemeinsam genutzt wird.

Syntax

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;
};

Beispiel

Das folgende Beispiel zeigt die Verwendung der Vereinigung von Strukturen.

union sample{
   int a;
   float b;
   char c;
};

Deklaration von Gelenkvariablen

Das Folgende ist die Deklaration von Gelenkvariablen. Es gibt drei Typen wie folgt:

Typ 1

union sample{
   int a;
   float b;
   char c;
}s;

Typ 2

wird übersetzt als:

Typ 2

union{
   int a;
   float b;
   char c;
}s;

Typ 3

wird übersetzt als:

Typ 3

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.

Beispiel

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;
}

Ausgabe

Wenn das obige Programm ausgeführt wird, erzeugt es das folgende Ergebnis –

75 K

Beispiel 2

Ü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;
}

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen