请解释如何计算C语言中结构体变量所占的字节数,并说明影响其大小的关键因素。
考察说明
考察对结构体内存布局、对齐规则及sizeof计算的理解
回答思路
- 能言明结构体大小由成员类型与对齐规则共同决定
- 能解释默认对齐数是成员最大对齐数与编译器设定值中的较小者
- 能根据对齐规则手工推演一个含不同类型成员的结构体大小
- 能指出使用#pragma pack或__attribute__((packed))可改变对齐
- 能区分sizeof与成员实际存储偏移
- 能举出结构体嵌套或位域等影响大小的例子
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。