Re: 構造体のメンバの記憶域の順
In article <87bruguaue.wl@anago2.mas.chi.its.hiroshima-cu.ac.jp>, Fujii
Hironori <fujii@chi.its.hiroshima-cu.ac.jp> wrote:
> > それが規格だから。としか答えようありません。
>
> なぜ規格をそうしたのかがちょっと不思議に感じるのです。
> コンパイラがなぜそうするのかが知りたいのではないです。
たいがいのマクロアセンブラの仕様がそうなのと同じ理由では ;)
> char や int のサイズと詰め物のしかたについてが処理系依存なのに、
> 並びだけ決めても移植性を考えると使えないと思う。
「その構造体を使って書いた」データを別の処理系で「その構造体で読む」
ような互換性はないでしょうねもともと。
でも、順番が決まってないと、前述の「最後のメンバーの配列の添字
を多めにつかって可変に」みたいなことができないから困るってことでは?
C++ではできませんが ;)
そういえばいまのCでは
struct {
int len;
char a[];
};
みたいに配列の個数書かないのもOKなんだっけ?
--
ヘ_ヘ ____________________________
ミ・・ ミ void@merope.pleiades.or.jp
( ° )〜 日下部陽一
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735