我的编译器要求我有一个内存对齐的结构声明,以确保正确的数据访问。我有一个顶层结构,它由一些其他结构组成。确保顶部结构与 32 字节边界对齐是否足够,或者我需要确保每个结构都应与 32 字节边界对齐。代码片段如下:-
typedef struct {
int p;
int q;
char n;
} L;
typedef struct {
int c;
int d;
char e;
L X2[13];
} B;
typedef struct {
int a;
int b;
B X1[10];
} M;
为了确保正确的数据访问,我是否需要确保所有结构都正确对齐内存,或者填充最顶部的结构将确保内存对齐。