枚举与联合(共用体)


枚举-----列举

枚举类型:有以下程序:

 枚举类型创建的量都是常量,相当于宏定义。

枚举的优点:

1、增强代码的可读性和可维护性

2、和#define定义的标识符比较枚举有类型检查,更加严谨。

3、防止了命名污染

4、便于调试

5、使用方便,一次可以定义多个常量

联合(共用体)

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

有以下程序:

 得到结论:联合体的成员使用同一块空间(联合体的大小至少是最大的成员大小)但是联合体内的成员不能同时使用,改变一个成员,其他成员也跟着改变。

因此:可以利用联合体这一特点去计算字节序的问题:

联合体大小的计算:

1、联合体大小至少是最大成员的大小;

2、当最大成员的对齐数不是整个联合体大小的整数倍时,就要对齐到最大对齐数的整数倍;

3、数组相当于是N个元素所组成;

 

C