#include <stdio.h>
#include <stdlib.h>
#define N 80
struct Student
{
int age;
char sex[5];
};
int main(void)
{
struct Student student = {.age=10, .sex="yang"};
printf("sizeof student is %d\n", sizeof(student) );
exit(EXIT_SUCCESS);
}
如果显示的结果为:sizeof student is 10;则表明对齐的是2的倍数;
如果显示的结果为:sizeof student is 12;则表明对齐的是4的倍数;
如果显示的结果为:sizeof student is 16;则表明对齐的是8的倍数;
本文通过一个简单的C语言程序实例介绍了结构体在内存中的存储方式及其对齐规则,并展示了如何通过程序运行结果判断编译器采用的内存对齐方式。
771

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



