這三者其實是講得一個東西,當然了,這裡的重點並不是這裡。 1、共用體變量的地址和其它各個成員的地址是相同的。 2、不能對共用體變量初始化和賦值,也不能企圖引用共用體變量名來得到某成員的值。(並不排除有 *((int *)(&UnionVar)) 這樣的非主流) 3、共用體不能作為函數參數的傳遞,同樣也不能作為函數返回值。(並不排除結構體嵌套下的共用體) 4、共用體似乎可以用來進行數據的轉換,如: [cpp] union { char a[8]; double x; }xxx; xxx.x=3; char i=0; for(;i<8;i++) printf("%d\t" , xxx.a[i]);