#include<stdio.h>
union Student{
int i;
unsigned char ch[9];
};
int main (){
Student student;
student.i=0x1632;
printf("%x\n",student.ch[0]); //32
printf("%x\n",student.ch[1]); //16
printf("%p\n%p\n",&student.i,&student.ch);
printf("%d\n",sizeof(student)); //12
printf("%d\n",sizeof(student.i)); //4
printf("%d\n",sizeof(student.ch)); //9
return 0;
}
聯合體union的內存取內部變量中大者。各變量共用一塊內存,對其中一個變量賦值,即是對所有的變量同時賦值。