该关键字的作用:可以让结构体,按照紧凑排列的方式,占用内存,例如
#include <stdio.h>
#include <iostream>
using namespace std;
struct test1 {
char c;
int i;
};
struct __attribute__ ((__packed__)) test2 {
char c;
int i;
};
int main()
{
cout << "size of test1:" << sizeof(struct test1) << endl;
cout << "size of test2:" << sizeof(struct test2) << endl;
}
运行结果:
size of test1:8
size of test2:5
还有另外一种方式来控制数据结构的对齐问题,为了让我们的数据机构以最优的方式储存,处理,保证读写数据结构都一一对齐,还有另外一种方式: