聯合是由不同資料類型的多個變數共享的記憶體位置。
C 程式設計中指向聯合的指標的語法如下 -
union uniontag{ datatype member 1; datatype member 2; ---- ---- datatype member n; };
#下面的範例展示了結構體並集的用法。
union sample{ int a; float b; char c; };
以下是聯合變數的宣告。它有三種類型,如下所示−
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;
當宣告聯合時,編譯器會自動建立最大尺寸的變數類型來容納聯合中的變數。
任何時候只能引用一個變數。
使用相同的結構語法來存取聯合成員。
點運算子用於存取成員。
箭頭操作符(->)用於使用指標存取成員。
我們可以使用指向聯合的指針,並使用箭頭運算符(->)來存取成員,就像結構體一樣。
下面的程式展示了在C程式設計中使用指向聯合的指標的用法-
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; }
#當上述程式被執行時,它產生以下結果−
75 K
考慮具有不同輸入的相同範例。
即時示範
#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; }
當上述程式執行時,它產生下列結果 −
90 Z
以上是解釋C語言中的聯合指針的詳細內容。更多資訊請關注PHP中文網其他相關文章!