C语言结构体内存对齐问题

在这里插入图片描述
参考博文:C语言结构体内存对齐问题

成员对齐:
  以4字节对齐为例,如果自身类型小于4字节,则该成员的首地址是自身类型大小的整数倍;如果自身类型大于等于4字节,则该成员的首地址是4的整数倍。若内嵌结构体,则内嵌结构体的首地址也要对齐,只不过自身类型大小用内嵌结构体的最大成员类型大小来表示。数组可以拆开看做n个数组元素,不用整体看作一个类型。

最后结构体总体补齐:
  以4字节对齐为例,如果结构体中最大成员类型小于4字节,则大小补齐为结构体中最大成员类型大小的整数倍;如果大于等于4字节,则大小补齐为4的整数倍。内嵌结构体也要补齐。
参考博文:结构体内存对齐是什么鬼?

猜你喜欢

转载自blog.csdn.net/weixin_43297891/article/details/114296161