什么是C語言共用體類型
一般形式
union 共用體名
{
成員表列
}變量表列;
結構體變量所占內存長度是各成員占的內存長度之和。每個成員分別占有其自己的內存單元。而共用體變量所占的內存長度等于最長的成員的長度。
C語言引用共用體變量的方式
只有先定義了共用體變量才能引用它,但應注意,不能引用共用體變量,而只能引用共用體變量中的成員。
C語言共用體類型數據的特點
- 同一個內存段可以用來存放幾種不同類型的成員,但在每一瞬時只能存放其中一個成員,而不是同時存放幾個。
- 可以對共用體變量初始化,但初始化表中只能有一個常量。
- 共用體變量中起作用的成員是最后一次被賦值的成員,在對共用體變量中的一個成員賦值后,原有變量存儲單元中的值就取代。
- 共用體變量的地址和它的各成員的地址都是同一地址。
- 不能對共用體變量名賦值,也不能企圖引用變量名來得到一個值。
- C語言規定不能把共用體變量作函數參數,但可以使用指向共用體變量的指針作函數參數。
- 共用體類型可以出現在結構體類型定義中,也可以定義共用體數組。
C語言使用共同體輸出成績
#include
union data
{
float score;
};
int main(){
union data str;
str.score=90.5;
printf("%f\\n",str.score);
return 0;
}
編譯運行結果:
90.500000
--------------------------------
Process exited after0.1584 secondswith return value0
請按任意鍵繼續. . .
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
內存
+關注
關注
8文章
3037瀏覽量
74149 -
C語言
+關注
關注
180文章
7608瀏覽量
137150 -
結構體
+關注
關注
1文章
130瀏覽量
10857
發布評論請先 登錄
相關推薦
什么是C語言共用體?
;volatile unsigned char G: 1;volatile unsigned char DP: 1; } B; volatile unsigned char W;} ;這是個什么共用體?怎么稱呼的?這是共用
發表于 10-25 02:32
結構體與共用體的區別
轉載重點:共用體的所有成員占用同一段內存,修改一個成員會影響其余所有成員。圖形分析影響過程通過前面的講解,我們知道結構體(Struct)是一種構造類型或復雜
發表于 07-20 06:57
C預處理與C語言基本數據類型
指令表:注意:宏名的書寫由標識符與兩邊各兩條下劃線構成。C語言基本數據類型不同操作系統中數據類型所占字節數圖解數據類型的其他分類:變量常量(
發表于 12-21 08:29
評論