在分配内存时,可以有多种对齐方式,定义如下:
#pragma pack(n); (n=1,2,4,8,16)
如果是n=4,那么结构中的任何变量都不会跨4字节边界,如下例:
#pragma pack(n)
struct s
{
char i;
short j;
short k;
char m;
}
#pragma pack()
若 n=1 则 sizeof(s) = 6;
若 n=4 则 sizeof(s) = 8; 因为k不能跨越4字节的边界。
内存分配的对齐方式
最新推荐文章于 2025-07-31 23:19:41 发布
博客介绍了分配内存时的多种对齐方式,通过 #pragma pack(n) 定义(n=1,2,4,8,16)。以结构体 s 为例,展示了不同 n 值下结构体大小的变化,如 n=1 时 sizeof(s) = 6,n=4 时 sizeof(s) = 8,原因是变量不能跨 4 字节边界。
1848

被折叠的 条评论
为什么被折叠?



