共用體:使幾個不同的變數佔據同一段記憶體的結構稱為共用體。
union tel_email //**或郵箱
contactinfo;//****
//宣告共用體型別
union tel_email
;//定義共用體變數
union tel_email contactinfo;
注:共用體變數在記憶體中的長度
注意:共用體變數不可以在定義的同時初始化。
contactinfo.email="[email protected]";
printf("%s\n\n",contactinfo.email);
注:以前的c不能把共用體變數作為函式引數,也不能使函式帶回共用體變數,但可以使用指向共用體變數的指標。c99允許共用體變數作為函式引數。具體使用方法與結構體相同,可以參考博主的【c語言】結構體變數作函式引數(三個方法)這篇文章。
完整測試**如下:
#include union tel_email
;int main()
//函式定義
void fun(union tel_email contactinfo)
C語言共用體型別 union
共用體型別的定義 用同一段記憶體單元存放不同型別的指標變數。使用類似覆蓋技術,後乙個資料覆蓋了前面的資料,使幾個不同的變數共享同一段同一段記憶體的結構。定義共用體型別變數的一般形式為 union 共用體名 變數列表 如 union date a,b,c 注意 結構體變數所佔記憶體長度是各成員佔的記憶...
(C語言)共用體union的用法舉例
以前在學校學習c語言的時候一直搞不懂那個共用體union有什麼用的。工作之後才發現它的一些妙用,現舉例如下 1.為了方便看懂 比如說想寫乙個3 3的矩陣,可以這樣寫 注 下面用紅色部分標記的地方是後來新增上去的,謝謝yrqing718的提醒!struct matrix float f 3 3 mat...
C語言union 聯合體 共用體
一直以來,union都是個很少用到的東西,對於這些不常用的結構往往記不住。這次看書又看到了,還是學習一下吧。一般在windows api的一些資料結構中才能看到這個union,其實並不複雜。本質上來說和結構體是一樣的,但是從包裝的角度來看有差異。1 union中可以定義多個成員,union的大小由最...