typedef struct
{
int len;
char namestr[1];
}S;
假如我们声明了这样一个结构体,在64位(32位)下,我们打印他的长度,会发现
这是因为编译器会自动分配一定空间用于对齐,因此会有无名空间。
本文探讨了一个特定结构体在64位(32位)系统中的表现,解释了编译器如何通过添加额外的空间来进行对齐,从而影响结构体的整体大小。
typedef struct
{
int len;
char namestr[1];
}S;
假如我们声明了这样一个结构体,在64位(32位)下,我们打印他的长度,会发现
这是因为编译器会自动分配一定空间用于对齐,因此会有无名空间。

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