共用體

一.什麼是共用體?

       在進行某些算法的C語言編程的時候,需要使幾種不同類型的變量存放到同一段內存單元中。也就是使用覆蓋技術,幾個變量互相覆蓋。這種幾個不同的變量共同佔用一段內存的結構,在C語言中,被稱作“共用體”類型結構,簡稱共用體。注:在某些書籍中可能稱之爲“聯合體”,但是“共用體”更能反映該類型在內存的特點。(摘自百度百科)

二.定義共用體類型變量

eg:

union Test      //Test爲共用體名
{
	int a;      //a,b,c存儲在同一段儲存單元中
	float b;
	char c;
}m,n;

或者:

union Test      //Test爲共用體名
{
	int a;      //a,b,c存儲在同一段儲存單元中
	float b;
	char c;
};
union Test m,n;

(定義方式類似結構體。)

三.共用體類型數據的特點:

①共用體變量中只能存放一個值:同一個內存段可以用來存放幾種不同類型的成員,但每一次只能存放其中一個,不能同時存放。(共用體類型所佔的內存長度等於最長的成員的長度)

②可以對共用體進行初始化,但初始化表中只能有一個變量。

③共用體中起作用的成員是最後一次被賦值的成員,在對共用體中的其中一個成員的賦值後,原有變量儲存單元中的值就取代。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章