私はこれまで一度も見たことのないユニークな構文だと思った(私はたいていC++のバックグラウンドに由来する)。私はコードが下に何であるか分からない。私の推測では、それは構造体を定義する独特の方法ですが、もし誰かがここで何をしているのかを明確に説明できるなら、大きな助けになるでしょう!Cの一意の静的構造構文
static Foo f =
{
.a = {DEFAULT_FOO},
.b = DEFAULT_BAR,
.c[0] = { 0 }
#ifdef BAR
,
.c[1] = { 0 },
.c[2] = { 0 }
#endif
};
私はちょうど1週間前のようにこれに遭遇しました。これはGNUの拡張であり、私はそれが何であるか覚えていません... –
この初期化形式はC99でのみ利用可能で、おそらくはg99拡張子pre99としても使用できます。 –
http://gcc.gnu.org/onlinedocs/gcc-4.4.1/gcc/Designated-Inits.html#Designated-Inits –