首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

结构体占用空间有关问题

2013-09-24 
结构体占用空间问题#include iostream#include string#include cstringusing std::cinusing std::c

结构体占用空间问题
#include <iostream>
#include <string>
#include <cstring>

using std::cin;
using std::cout;
using std::string;
using std::endl;

struct inflatable {
    char name[20];
    double price;
    int number;
};

int main()
{
    inflatable inf1;
    cout<<sizeof inf1.name<<" + ";
    cout<<sizeof inf1.number<<" + ";
    cout<<sizeof inf1.price<<" = ";
    cout<<sizeof inf1;
    return 0;
}

结果显示为 20 + 4 + 8 = 40.


neme数组20个字节, price8个字节,number4个字节,那还有8个字节是什么呢,求解!!! 结构 sizeof
[解决办法]
不是这么算的,与你设置的内存对齐方式有关系,

你在struct声明的前面加上:#pragma pack(1)
在struct声明之后加上:#pragma pack()

编译后再试蔗

热点排行