C語言 共用體 union 的宣告 初始化與使用

2021-10-20 22:55:39 字數 707 閱讀 1067

共用體:使幾個不同的變數佔據同一段記憶體的結構稱為共用體。

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的大小由最...