1.内存对齐(空间换时间)
规则:
(1)基本数据类型的自身对齐值
(2)程序的指定对齐值:即#pragma pack(value)时的指定对齐值value
(3)自定义类型的自身对齐值:结构体或类的成员中自身对齐值最大的值
(4)自定义类型的有效对齐值:自定义类型的自身对齐值和指定对齐值中较小的值
2.位段(位域)
//指定比特位大小
int a:2;
(1)位段不能跨字节存储
(2)比特位不能超过类型内存大小
(3)不能跨类型存储
(4)float类型不能有位段
3.枚举
和
#defifine
定义的标识符比较枚举有类型检查,更加严谨
4.
联合体
(1)联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联合至少得有能力保存最大的那个成员)。
(2)储存时,联合体中的不同数据类型对对方有不完全的数据覆盖。