检察内网门户网站建设,泉州 网站制作,符合seo的网站,百度网站统计结构体
结构体内存对齐规则#xff1a;
1、结构体的第一个成员对齐到结构体变量起始位置偏移量为0的地址处
2、其他成员变量要对齐到某个数字#xff08;对齐数#xff09;的整数倍的地址处。 对齐数#xff1a;编译器默认的一个对齐数与该成员变量大小的较小值。 vs 中…结构体
结构体内存对齐规则
1、结构体的第一个成员对齐到结构体变量起始位置偏移量为0的地址处
2、其他成员变量要对齐到某个数字对齐数的整数倍的地址处。 对齐数编译器默认的一个对齐数与该成员变量大小的较小值。 vs 中默认对齐数是8 Linux中gcc没有对齐数对齐数就是该成员变量自身大小。 3、该结构体总大小为最大对齐数结构体中每个成员都有一个对齐数所有对齐数最大的整数倍。 4、如果嵌套了结构体嵌套的结构体成员对齐到自己内部成员最大对齐数的整数倍然后结构体的整体大小就是所有对齐数含嵌套结构体成员对齐数的整数倍。 运用offsetof---宏 需要包含头文件#includestddef.h----计算结构体成员相较于起始位置的偏移量。 联合体
联合体也是由一个或者多个成员变量来构成这些成员可以是不同类型但是编译器只是为最大成员分配足够的空间联合体的特性就是所有成员共用一块空间给联合体其中一个成员赋值其他成员也会相应变动。 可以发现联合体有个特点就是所有的成员共用一个空间那么对一个变量进行修改也会影响另外一个变量。
枚举 枚举优点
增加代码的可读性和可维护性使用起来也较为方便可以一次性定义多个常量。