Kusakabe Youichi <void@merope.pleiades.or.jp> writes:

> そういえばいまのCでは
>         struct {
>                 int len;
>                 char a[];
>         };
> みたいに配列の個数書かないのもOKなんだっけ?

OKです.もちろん最後のメンバだけ.

         struct s1 {
                 int len;
                 char a[];
         };
と同じ用途で,むかしは個数を書かなきゃいけなかったので,
         struct s2 {
                 int len;
                 char a[1];
         };
と書いたりしたと思いますが,上の2つの書き方でaのオフセットが同じになる
ことが保証されています.(sizeof(struct s1)とoffsetof(struct s1, a)と
offsetof(struct s2, a)は同じになる.)

                                前田敦司