1.我们可以使用#define定义常量,为什么非要使用枚举?(枚举的优点)
(1)增加代码的可读性和维护性。
(2)和#define定义的标识符比较枚举有类型检查,更加严谨。
(3)防止了命名污染(封装)。即为命名冲突,枚举放在{}里,避免了和其他命名冲突。
(4)便于调试。(define是直接替换,执行的内容和看到的内容会有区别)。
(5)使用方便,一次可以定义多个常量。
2.
struct S //结构体中多个成员各自独立
{
char a;
int b;
};
enum Sex //枚举中是可能的取值
{
Male,
Female
};
union un //联合体中的元素公用内存中的一块内存
{
char c;
int i;
};
3.联合体(共用体)
定义:联合体是一种特殊的自定义类型,这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以也叫共用体)。
4.联合的特点
联合的成员是公用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联合至少得有能力保存最大的那个成员)。
5.联合大小的计算
(1)联合的大小至少是最大成员的大小
(2)当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。
1094

被折叠的 条评论
为什么被折叠?



