结构体进阶详解-(结构体内存对齐)

目录
结构体内存对齐
结构体内存对齐规则:
宏-offsetof
结构体嵌套内存对齐
为什么存在内存对齐?
修改默认对齐数

结构体内存对齐
首先我们来看这样一段代码
struct S1
{
char c1;
int i;
char c2;
};
接下来我们来预测一下,该结构体在内存中所占几个内存?
那么我想不少小伙伴就是开始下面这种分析方式:
struct S1
{
char c1;//1
int i;//4
char c2;//1
};
1+1+4,所以结果是占用了六个字节,那么到底对不对呢?
让我们一起 Ctrl+F5 代码走起来,结果一试便知
很显然结果和我们的猜测并不一样。
那我们不妨再试一段代码
struct S2
{
char c1;//1
char c2;//1
int i;//4
};
可以看出,成员一样,只是顺序发生了改变,那这样的话占用内存会不会发生改变?
Ctrl+F5 代码走起来,结果一试便知

那这是怎么回事呢?
很显然跟我们所想的有出入,内存造成

结构体进阶详解-(结构体内存对齐)最先出现在Python成神之路

版权声明:
作者:cc
链接:https://www.techfm.club/p/27239.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>