Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

ブックマーク / alpha-netzilla.blogspot.com (1)

  • 複合データ型(構造体など)のアラインメント(alignment)について

    C言語で利用するsizeof(x)はxの正味のサイズではなく、 xのアラインメントの倍数に切り上げた値になる。 基的なデータ型のアラインメントは、下に示すようにその型のサイズ に一致することが多い。 例外もあるのだが(詳しくはこちらを参考)、ここではとにもかくにも一致するとする。 では、複合データ型(構造体など)では具体的にどういったサイズになるのであろうか。 例題を使って考えてみよう。 ◆ 基的なデータ型のアラインメント 構造体のアラインメントを考える前提として、 先にも述べたように、各データ型のサイズとアラインメントは以下とする。 ・char サイズ          : 1バイト アラインメント : 1バイト ・short サイズ          : 2バイト アラインメント : 2バイト ・int サイズ          : 4バイト アラインメント : 4バイト ・dou

  • 1