关于结构体内存分配对齐深入理解

1748 人浏览 | 时间: 2015-06-26 14:54:00 | 作者: 小烽烽
    比如:(32位系统下)
struct a
{
    int b;
    double c;
    char d[9];
};
void main()
{
    prinf("%d",sizeof(struct a));
}

    如果按照“结构体变量占据的内存单元的个数应当大于等于其内部所有数据成员占据内存单元数的和。”这句话来理解输出就是int占了4个字节,double占用8个字节,char定义一个数组占用了9个字节所以总用21个字节,但是结果不是这样。
    接下来我来解释一下原因:
    首先要知道出于效率的考虑,C语言引入了字节对齐机制,一般来说,不同的编译器字节对齐机制有所不
请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读