C++ 结构体对齐方式转换?

发布网友

我来回答

3个回答

热心网友

1.
1:结构体(struct)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存放在offset为该数据成员大小的整数倍的地方(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。
2.
2:如果一个结构体B里嵌套另一个结构体A,则结构体A应从offset为A内部最大成员的整数倍的地方开始存储。(struct B里存有struct A,A里有char,int,double等成员,那A应该从8的整数倍开始存...
3.
3:结构体的总大小,也就是sizeof的结果,必须是其内部最大成员的整数倍,不足的要补齐。

热心网友

从来没有听说这样的*,使用什么方法进行对齐不是硬件*,随软件控制的,你说的这种情况根本不存在。

热心网友

二是设置结构体按1字节方式进行对齐,程序所有模块都按这种对齐方式编译。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com