什么是C語(yǔ)言共用體類(lèi)型
一般形式
union 共用體名
{
成員表列
}變量表列;
結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。而共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。
C語(yǔ)言引用共用體變量的方式
只有先定義了共用體變量才能引用它,但應(yīng)注意,不能引用共用體變量,而只能引用共用體變量中的成員。
C語(yǔ)言共用體類(lèi)型數(shù)據(jù)的特點(diǎn)
- 同一個(gè)內(nèi)存段可以用來(lái)存放幾種不同類(lèi)型的成員,但在每一瞬時(shí)只能存放其中一個(gè)成員,而不是同時(shí)存放幾個(gè)。
- 可以對(duì)共用體變量初始化,但初始化表中只能有一個(gè)常量。
- 共用體變量中起作用的成員是最后一次被賦值的成員,在對(duì)共用體變量中的一個(gè)成員賦值后,原有變量存儲(chǔ)單元中的值就取代。
- 共用體變量的地址和它的各成員的地址都是同一地址。
- 不能對(duì)共用體變量名賦值,也不能企圖引用變量名來(lái)得到一個(gè)值。
- C語(yǔ)言規(guī)定不能把共用體變量作函數(shù)參數(shù),但可以使用指向共用體變量的指針作函數(shù)參數(shù)。
- 共用體類(lèi)型可以出現(xiàn)在結(jié)構(gòu)體類(lèi)型定義中,也可以定義共用體數(shù)組。
C語(yǔ)言使用共同體輸出成績(jī)
#include
union data
{
float score;
};
int main(){
union data str;
str.score=90.5;
printf("%f\\n",str.score);
return 0;
}
編譯運(yùn)行結(jié)果:
90.500000
--------------------------------
Process exited after0.1584 secondswith return value0
請(qǐng)按任意鍵繼續(xù). . .
-
內(nèi)存
+關(guān)注
關(guān)注
8文章
3108瀏覽量
74975 -
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7630瀏覽量
140186 -
結(jié)構(gòu)體
+關(guān)注
關(guān)注
1文章
130瀏覽量
11029
發(fā)布評(píng)論請(qǐng)先 登錄
C語(yǔ)言-枚舉、共用體
C語(yǔ)言必備知識(shí)共用體

什么是C語(yǔ)言共用體?
結(jié)構(gòu)體與共用體的區(qū)別
C語(yǔ)言的結(jié)構(gòu)體和共用體在單片機(jī)中的妙用是什么
C預(yù)處理與C語(yǔ)言基本數(shù)據(jù)類(lèi)型
怎樣去使用C語(yǔ)言的結(jié)構(gòu)體和共用體呢
聯(lián)合體/共用體的使用方法
共用體和結(jié)構(gòu)體的區(qū)別
C語(yǔ)言程序設(shè)計(jì)教程之結(jié)構(gòu)體與共用體的詳細(xì)資料說(shuō)明

什么是C語(yǔ)言的聯(lián)合體

C語(yǔ)言的結(jié)構(gòu)體和共用體在單片機(jī)中的妙用

C語(yǔ)言-結(jié)構(gòu)體與位域
詳解C/C++結(jié)構(gòu)體、聯(lián)合體和枚舉的區(qū)別與內(nèi)存對(duì)齊

評(píng)論