Struct结构体
定义:struct 结构体名字 { 成员列表 }; 结构体变量的声明: 1.先定义结构体,再说明结构变量 2.在定义结构类型的同时说明结构变量 3.直接说明结构变量,可以不指定结构名 第二种和第三种方法区别在于第三种省去了结构名,由于该结构没有名字所以此结构在程序其他地方无法再创建新变量
结构体指针
struct 结构名*结构指针变量名
struct boy * pchar;
pchar =&boy1;
通过指针访问成员 1.指针变量->成员
p->Name;
2.(*指针变量)->.成员
(*pchar).name;
结构体对齐 1.所有属性基本数据类型所占字节最大单位分配内存 2.所有属性都存储在自己类型所占字节整数倍处
枚举
1.只定义了赋值运算符,没有为枚举定义算术运算符 2.在枚举类型的定义中列举出所有可能的取值,被定义为枚举 3.类型的变量取值不能超过定义的范围 4.枚举类型定义的所有可能的取值均为整数
枚举元素 1.在枚举值表中应罗列出所有可能值 2.枚举元素本身由系统定义了一个表示序号的数值 3.在缺省情况下,第一个枚举成员被赋值为0,后面每个枚举成员的值一次增加为1,也可以显示的把一个值赋给一个枚举成员,它后面的成员如果没有赋值,那么值依次加1,这个值不是唯一的 注意:枚举值是常量,不是变量,不能在程序中用赋值语句在对它赋值
枚举定义
enum 枚举名{枚举元素};
枚举变量的定义: 1.在定义枚举类型的同时声明枚举变量 2.使用无名枚举类型声明枚举变量 3.用枚举类型声明枚举变量
枚举是可以参与其他类型变量运算的
int a;a=1+Monday;
枚举取值范围 上限:大于最大枚举量的 最小的2的幂-1 下限:1.最小值大于0,下限为0(等于0,也取0) 2.枚举量的最小值小于0,下限为小于最小枚举量的最大的2的幂+1
|