请对比 C 语言中 struct 与 union 的区别,并说明各自适用场景。
考察说明
考察对 C 语言复合数据类型的内存布局与用途理解
回答思路
- 说明 struct 各成员独立占用内存,大小为成员之和(考虑对齐)
- 说明 union 所有成员共享同一块内存,大小为最大成员,同一时刻只有一个成员有效
- 举例说明两种类型的初始化与访问方式差异
- 结合典型场景(如协议解析、寄存器映射)说明 union 的适用性
- 注意内存对齐对 struct 大小的影响
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。