结构体大小的计算及设置内存字节对齐数原理理解

时间:2023-01-11 18:45:40

源码可参考上一篇的 《结构体初始化及结构体指针.结构体数组.结构体函数的调用赋值等

//结构体变量的大小不仅由 成员大小决定+内存对齐(数据存储的规则) //作用:大大增大内存读取效率 //设置内存对齐 #pragma pack(8);//8字节对齐 vc6.0系统默认是8字节对齐 //#pragma pack(4);//8字节对齐 vc6.0系统默认是8字节对齐 //#pragma pack(1);//1字节对齐 即结构体成员的字节大小 struct NODE { char ch; //1 short sh; //2 int in; //4 float f; //4 double db;//8 char* p; //4 char arr[5];//5 11+17=28 }; int main(void) { printf("%d\n",sizeof(struct NODE)); } 8字节内存排序图结构体大小的计算及设置内存字节对齐数原理理解
4字节内存排序图:结构体大小的计算及设置内存字节对齐数原理理解