结构体占用空间问题
#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()
编译后再试蔗