什么是C語言共用體類型
一般形式
union 共用體名
{
成員表列
}變量表列;
結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個成員分別占有其自己的內(nèi)存單元。而共用體變量所占的內(nèi)存長度等于最長的成員的長度。
C語言引用共用體變量的方式
只有先定義了共用體變量才能引用它,但應注意,不能引用共用體變量,而只能引用共用體變量中的成員。
C語言共用體類型數(shù)據(jù)的特點
- 同一個內(nèi)存段可以用來存放幾種不同類型的成員,但在每一瞬時只能存放其中一個成員,而不是同時存放幾個。
- 可以對共用體變量初始化,但初始化表中只能有一個常量。
- 共用體變量中起作用的成員是最后一次被賦值的成員,在對共用體變量中的一個成員賦值后,原有變量存儲單元中的值就取代。
- 共用體變量的地址和它的各成員的地址都是同一地址。
- 不能對共用體變量名賦值,也不能企圖引用變量名來得到一個值。
- C語言規(guī)定不能把共用體變量作函數(shù)參數(shù),但可以使用指向共用體變量的指針作函數(shù)參數(shù)。
- 共用體類型可以出現(xiàn)在結(jié)構(gòu)體類型定義中,也可以定義共用體數(shù)組。
C語言使用共同體輸出成績
#include
union data
{
float score;
};
int main(){
union data str;
str.score=90.5;
printf("%f\\n",str.score);
return 0;
}
編譯運行結(jié)果:
90.500000
--------------------------------
Process exited after0.1584 secondswith return value0
請按任意鍵繼續(xù). . .
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
內(nèi)存
+關(guān)注
關(guān)注
8文章
3023瀏覽量
74033 -
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136776 -
結(jié)構(gòu)體
+關(guān)注
關(guān)注
1文章
130瀏覽量
10841
發(fā)布評論請先 登錄
相關(guān)推薦
C語言-枚舉、共用體
前面章節(jié)學習了結(jié)構(gòu)體,結(jié)構(gòu)體里可以按順序存放相同或者不同的數(shù)據(jù)類型,每個成員都有它對應的存儲空間。
而共用體和結(jié)構(gòu)
什么是C語言共用體?
;volatile unsigned char G: 1;volatile unsigned char DP: 1; } B; volatile unsigned char W;} ;這是個什么共用體?怎么稱呼的?這是共用
發(fā)表于 10-25 02:32
結(jié)構(gòu)體與共用體的區(qū)別
轉(zhuǎn)載重點:共用體的所有成員占用同一段內(nèi)存,修改一個成員會影響其余所有成員。圖形分析影響過程通過前面的講解,我們知道結(jié)構(gòu)體(Struct)是一種構(gòu)造類型或復雜
發(fā)表于 07-20 06:57
C預處理與C語言基本數(shù)據(jù)類型
指令表:注意:宏名的書寫由標識符與兩邊各兩條下劃線構(gòu)成。C語言基本數(shù)據(jù)類型不同操作系統(tǒng)中數(shù)據(jù)類型所占字節(jié)數(shù)圖解數(shù)據(jù)類型的其他分類:變量常量(
發(fā)表于 12-21 08:29
聯(lián)合體/共用體的使用方法
大家好,我是ZhengN。本次給分享聯(lián)合體的一些知識。聯(lián)合體/共用體的使用 C語言中,聯(lián)合體/共用體
發(fā)表于 02-28 10:05
共用體和結(jié)構(gòu)體的區(qū)別
在c++中,結(jié)構(gòu)體(struct)和共用體(union)是兩種很相似的復合數(shù)據(jù)類型,都可以用來存儲多種數(shù)據(jù)
發(fā)表于 11-19 17:46
?3.7w次閱讀
C語言程序設(shè)計教程之結(jié)構(gòu)體與共用體的詳細資料說明
本文檔詳細介紹的是C語言程序設(shè)計教程之結(jié)構(gòu)體與共用體的詳細資料說明主要內(nèi)容包括了:1 結(jié)構(gòu)體,2
發(fā)表于 03-01 17:20
?11次下載
C語言-結(jié)構(gòu)體與位域
C語言里的結(jié)構(gòu)體是可以包含不同數(shù)據(jù)類型和相同數(shù)據(jù)類型的一個有序集合,屬于構(gòu)造類型,可以自己任意組
詳解C/C++結(jié)構(gòu)體、聯(lián)合體和枚舉的區(qū)別與內(nèi)存對齊
C語言中構(gòu)造類型一共有4種,它們分別是數(shù)組、結(jié)構(gòu)體(struct)、共用體(union)、枚舉
評論