41.共用体


#include
union Test{
	unsigned char ch;
	unsigned short b;
	unsigned int c;
};
int main(){
	/*
	结构体的大小可以简单地认为成最大成员的大小
	结构体的大小可以简单认为成员大小的累加 
	共用体公有一块内存,所有成员的地址都一样 
	
	给某个成员赋值,会影响到另外一个成员,左边是高位,右边是低位,高位放高地址,地位放低地址(小端) 
	*/
	
	union Test obj;
	printf("%p, %p, %p, %p\n", &obj, &obj.a &obj.b, &obj.c);
	
	obj.c = 0xaa;
	printf("obj.c = %x\n", obj.ch);
	printf("obj.a = %x\n", obj.a);
	printf("obj.b = %x\n", onj.b);
	
	obj.b = ccdd;
}