赞
踩
- struct Person {
- char gender;
- char name[15];
- int age;
- };
内存对齐
结构体内存对齐的规则
对齐数 = 编译器默认的一个对齐数与该成员大小的较小值. VS的默认值是8.
可以使用pragma pack()指令来设置默认对齐数
- struct bitfield_struct {
- type member_name : width;
- };
-
- struct bitfield_struct {
- unsigned int flag1 : 1; // 1位宽度
- unsigned int flag2 : 2; // 2位宽度
- unsigned int flag3 : 5; // 5位宽度
- };
位段的优点
位段的缺点(不确定性)
- union union_name {
- member_type1 member_name1;
- member_type2 member_name2;
- // 可以有更多的成员
- };
- //1 : 小端 0: 大端
- int judge_sys()
- {
- union judge
- {
- int value;
- char arr[4];
- };
-
- union judge data;
- data.value = 1;
- return data.arr[0];
- }
枚举:是一种用户定义的数据类型,用于定义一组命名的常量。枚举常量表示一组相关的离散取值,例如表示星期几、月份、状态等。
- enum Weekday {
- Monday, //0
- Tuesday, //1
- Wednesday, //2
- Thursday, //3
- Friday, //4
- Saturday, //5
- Sunday //6
- };
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。