So-net無料ブログ作成

構造体のサイズ [VC]

struct sample1 {
    WORD wBuf; // 2バイト
    BYTE byBuf; // 1バイト
};

struct sample2 {
    WORD wBuf; // 2バイト
    BYTE byBuf1; // 1バイト
    BYTE byBuf2; // 1バイト
};


上の構造体のサイズを sizeof関数 で調べると・・・


sizeof(sample1) == 4
sizeof(sample2) == 4


に、なります。
VCのバグとかではなく構造体のパディング(詰め物)と言うものらしいです。
奇数サイズの変数は、偶数サイズにするために余分なデータを入れるみたい。

要するに構造体を作るときは、「サイズが偶数になるように作りましょう」と言う事です。
特に通信関係の処理作ってる人には重要かも??
nice!(0)  コメント(0)  トラックバック(1) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1