请计算一下下面结构体类型的大小(假设我们在 64 位平台上,注意内存对齐)。

<pre class="language-markup"><code>type T struct { a int8 b int64 c int16 d int8 } </code></pre>

145 次浏览
  • A、12
  • B、16
  • C、18
  • D、24
计算一个结构体类型大小分两步,先对齐其内部所有字段,再做整体对齐。针对此题,内部字段的 size 之和为 =1(a 的大小)+7(填充)+8(b 的大小)+2(c 的大小)+1(d 的大小) = 19;然后再将 19 圆整到 8 的整数倍,离 17 最近的是 24。于是这个结构体 T 的 Size 为 24。
挑战成功
1年前
挑战失败
1年前
挑战失败
1年前
挑战失败
1年前

微信公众号

有课学公众号
  • 微信公众号: geekdaxue