c语言 联合和枚举

Posted 万物皆为二叉树

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

以上是关于c语言 联合和枚举的主要内容,如果未能解决你的问题,请参考以下文章

C语言自定义数据类型:结构体,枚举,联合

C语言自定义数据类型:结构体,枚举,联合

C语言自定义数据类型:结构体,枚举,联合

c语言篇 +自定义类型(枚举联合结构体)以及位段

C语言学习笔记(15)自定义类型:结构体,枚举,联合

C语言结构体及其内存对齐枚举联合的介绍