In article <871xve8046.wl@anago2.mas.chi.its.hiroshima-cu.ac.jp>,
 Fujii Hironori <fujii@chi.its.hiroshima-cu.ac.jp> writes:
> 構造体のメンバの記憶域は並べられた順に割り当てらることとなっていますが、
> これには何か理由がありますか。

それが規格だから。としか答えようありません。
> 
> struct foo {
>   char a;
>   int  b;
>   char c;
> };
> 
> このとき、並べられた順に a,b,c で割り当てるより、
> a,c,b とした方がたいてい詰め物が少ないと思うので。

ならびが保証されていないと、むっちゃ困りますけど、理解できません?

あと、CPUによりますが、複数バイトの同時アクセスが協会を気にしなくても
良いものもありますんで(intel系とか)コンパイラによってはパッキングする
こともあります。

まあ、設計として、上記のようなことをやらないのが基本です。

#って言ってるんだけど、最近64bitのプログラム書いていると、どうしても
#32bitの癖で、たまに8byteバウンダリを忘れちゃう。:-Pま、たいていは数

-- 
   ___     わしは、山吹色のかすてーらが大好きでのぅ
 [[o o]]            ふぉっふぉっふぉ
   'J'     森下 お代官様 MaNMOS 英夫@ステラクラフト
PGP Finger = CD EA D5 A8 AD B2 FE 7D  02 74 87 52 7C B7 39 37