请解释结构体(struct)和联合体(union)在 C 语言中的区别,以及它们各自适用的场景。
考察说明
考察对 C 语言结构体和联合体的内存布局、语义差异及适用场景的理解
回答思路
- 准确说明结构体成员各自独立占用内存,联合体成员共享相同内存起始地址
- 解释结构体大小约等于成员大小之和(考虑对齐),联合体大小等于最大成员大小
- 举例说明联合体常用于节省内存、类型复用或二进制解析场景
- 说明结构体用于组合不同类型的数据,联合体用于同一内存位置的多视角访问
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。