[H8-ML(461)] Re: アドレッシングモードではまった話
From: Osamu Imaizumi <imaizumi@xxxxxxxxx>
Date: 1999年11月18日(木)22時24分38秒
<3833F1D62F5.90DEJK@xxxxxxxxxxxxxx> の、
   "[H8-ML(460)] Re: アドレッシングモードではまった話" において、
   "Junsuke Kunugiza <jk@xxxxxxx>"さんは書きました:

jk> 仮に「宣言の順番通りになる」という保証があるとすれば、その
jk> 根拠に絶大な興味がありますね。境界の関係などでパディングが
jk> 前後中間に挿入され、実際にどうメモリに配置されるかは不定で
jk> あるにも関わらず、構造体メンバが配置される順序を決めておか
jk> なければ都合が悪いと結論するに十分合理的な理由が思い当たら
jk> ないのです。

根拠ではありませんがANSI C言語辞典に

|構造体オブジェクト内では記憶単位は宣言された順番に増加する
|アドレスを持つ。

と書かれています。その他、

|適切に変換された構造体オブジェクトへのポインタは先頭メンバー
|を指す。

という記述もありますね。

最初から移植を考慮する時やバイナリデータのファイルへの書き込み
読み出し互換を保ちたいときなど、ダミーを入れたりして調整という
泥臭い事もしなければならない時があるのでメンバーの順番まで保証
されないというのは勘弁して欲しいです。

あと、これはアドレッシングモードの問題ではなくてアラインメント
の問題です。

//imaizumi


スレッド概略
[451(R)](起点)
 └[460(U)]
   └[表示中]
     ├[462(1)]
     └[464(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]