#include <iostream>
#include <string.h>
using namespace std;
struct
{
int i;
char c;
float a;
} test;
int main()
{
cout << sizeof(test);
}
内存对齐及其作用;
[(https://blog.csdn.net/chy19911123/article/details/48894579 "")
这个涉及到一个结构体字节对齐规则的问题,你可以上网搜索一下 #pragma pack,你可以了解一下的。如果你要按数据类型本身所占的字节大小来控制
可以使用下面的方式:
#pragma pack(1)
struct
{
int i;
char c;
float a;
} test;
#pragma pack()
至于其中的原因,你可以自行查阅资料。