41.共用体

#include<stdio.h>
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;
}

posted @ 2022-03-24 22:52  W-forever  阅读(33)  评论(0)    收藏  举报