面试题答案
一键面试- 计算结果:
- 该结构体实例化后占用的内存大小为4字节。
- 计算依据:
- 在C语言中,结构体成员按位域分配内存。这里
a
占3位,b
占5位,c
占4位,总共3 + 5 + 4 = 12
位。 - 但是,C语言中内存分配的基本单位是字节(1字节 = 8位)。对于结构体,编译器通常会对其进行内存对齐以提高访问效率。
- 由于12位不足2字节(16位),但为了满足内存对齐要求,结构体的大小会被调整为4字节(32位系统下常见的对齐方式是按4字节对齐)。所以该结构体实例化后占用4字节内存。
- 在C语言中,结构体成员按位域分配内存。这里