union聯(lián)合體是一種類似于struct結構體的數(shù)據(jù)結構藏杖,它可以包含多種數(shù)據(jù)類型和變量,但是它們共享同一段內(nèi)存空間点寥,所以每次只能使用一個成員来吩。union聯(lián)合體的作用是節(jié)省空間,當一些數(shù)據(jù)不可能同時被用到時弟疆,可以使用union。union聯(lián)合體的定義和使用方法與struct結構體類似同廉,只是關鍵字從struct改為union柑司。
//定義一個名為Data的聯(lián)合體類型
union Data {
int i;
double x;
char str[16];
};
//聲明一個Data類型的變量uvar
union Data uvar;
uvar.i = 10; //給i賦值
uvar.x = 3.14; //給x賦值,此時i的值被覆蓋
strcpy(uvar.str, "Hello"); //給str賦值帜羊,此時x的值被覆蓋
printf("%d\n", uvar.i); //訪問i 結果不是10