枚举类型的定义
枚举顾名思义就是一一列举。
把可能的取值一一列举
enum Day//星期
{
Mon,
Tues,
Wed,
Thur,
Fri,
Sat,
Sun
};
enum Sex//性别
{
MALE,
FEMALE,
SECRET
};
enum Color//颜色
{
RED,
GREEN,
BLUE
};
以上定义的 enum Day , enum Sex , enum Color 都是枚举类型。
{}中的内容是枚举类型的可能取值,也叫 枚举常量 。
这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。
enum Color//颜色
{
RED=1,
GREEN=2,
BLUE=4
使用s变量里面的FEMALE,默认从0开始
联合体
联合的大小至少是最大成员的大小。
当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。
比如
联合体大小的计算
联合的大小至少是最大成员的大小。
当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。
union Un1
{
char c[5];//5
int i;//4
};
union Un2
{
short c[7];//14
int i;//4
};
Un1 是5,但是最大对其数是4,取整数倍是8,Un2相同的原理是short是14,4,14不是最大偏移量4的整数倍
用法
上述是正常做法,下面是联合体的用法,本质都是取第一个字节看看