c语言 联合和枚举

联合

联合定义

是一种特殊的自定义类型 这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体)。
比如:
GREEN,
BLUE
};

//联合类型的声明
union Un 
{
    
     
 char c; 
 int i; 
}; 
//联合变量的定义
union Un un; 
//计算连个变量的大小
printf("%d\n", sizeof(un)); 

联合的特点

联合的特点
联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联合至少得有能力保存最大的那个成员)

union Un
{
    
    
	int i;
	char c;
};
union Un un;
// 下面输出的结果是一样的吗?
int main()
{
    
    
	printf("%d\n", &(un.i));
	printf("%d\n", &(un.c));
	//下面输出的结果是什么?
	un.i = 0x11223344;
	un.c = 0x55;
	printf("%x\n", un.i);
	return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45849625/article/details/115030658