KDOC 227: フィールド定義の順番によってメモリサイズが変わることがある
この文書のステータス
- 作成
- 2024-08-26 貴島
- レビュー
- 2024-09-09 貴島
概要
【C言語】メモリアライメント を全力でわかりやすく説明するを、確認する。構造体のフィールドの順番どおりにメモリを割り当てるが、フィールドの型のサイズによっては、無駄なサイズを使うことになる。
ストアしているアドレスを見ると、サイズがわかる。 sample2 では、サイズがすべて4バイトになっていて、同じ情報量でも余計に使っているのがわかる。
-28
<4>
-24
<2>
-22
<2>
-20
-44
<4>
-40
<4>
-36
<4>
-32
関連
抽象。
- 区切りに揃えるための隙間ができるので、並べる順番だけで全体の大きさが変わる
関連。
- 補足: KDOC 144: データ型によるサイズの違いを確かめる。並べる要素それぞれの大きさを確かめている
- 参照: KDOC 202: 『30日でできる! OS自作入門』。出てくる説明をさらに調べた