LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 872|回复: 4

问一个关于C++内存组织的问题

[复制链接]
发表于 2006-9-7 11:59:11 | 显示全部楼层 |阅读模式
环境:VC6.0
#include <iostream>
using namespace std;

class abc {
        public:
                int        x;
                char c;
};

int main()
{
        cout<<sizeof(abc)<<endl;
        return 0;
}
运行结果: 8

在内存中,int占4个字节,char占个字节,但是两个放在一起在一个结构后,却占8个字节...
发表于 2006-9-7 13:47:41 | 显示全部楼层
32位的¡—机是4字节ù齐的。
回复 支持 反对

使用道具 举报

发表于 2006-9-7 13:48:53 | 显示全部楼层
内存单元会补齐为处理器字长的的整数倍。32bit机器的话,你这个是5字节,就会补齐为8字节。
不过gcc有扩展可以去掉多余空间,具体是什么忘了。
回复 支持 反对

使用道具 举报

发表于 2006-9-7 14:06:09 | 显示全部楼层
对齐方式!!!!!!!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-7 22:12:41 | 显示全部楼层
http://msdn.microsoft.com/librar ... cture_alignment.asp

我在这里找到答案了,
谢谢^^
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表