typedef struct Student_tag
{
bool sex;
char name[5];
} Student;
sizeof(Student)=6
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
typedef struct Student_tag
{
bool sex;
char name[5];
uint8_t age;
double score_1; //sizeof(double)=8
} Student;
sizeof(Student)=16 (必须是8的整数倍)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
typedef struct Student_tag
{
bool sex;
char name[5];
uint8_t age;
double score_1;
unsigned int score_2;
} Student;
sizeof(Student)=24
本文介绍了C语言中结构体的内存对齐原理,并通过三个示例展示了如何不同成员变量的排列顺序和类型会影响结构体的大小。文章还解释了为了提高数据存取效率而进行的内存对齐操作。
600

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



