问题描述
#include <stdio.h>struct person{int age;char name[10];};void main(){struct person zs,ls;printf("%dn",sizeof(zs));} 输出的结果为什么是16呢?不是应该是14吗?
解决方案
这个就是所谓的字节对齐你可以试试改 personstruct person{ int age; char name;};结果是8struct person{ char aaa; int age; char name;};结果是12 结构体的成员变量是顺序存储的每个成员变量所占的大小都是字节对齐的 是字(4 byte)的整数倍
时间: 2024-11-03 13:41:09