读书人

结构体占用空间有关问题

发布时间: 2013-09-24 11:29:02 作者: rapoo

结构体占用空间问题
#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()

编译后再试蔗

读书人网 >C++

热点推荐