Je suis tombé sur ce que je pensais être une syntaxe unique que je n'avais jamais vue auparavant (je viens principalement d'un arrière-plan C++). Je ne suis pas sûr de ce que le code est ci-dessous. Je suppose que c'est une façon unique de définir une structure, mais si quelqu'un pouvait expliquer clairement ce qu'il fait ici, ce serait une aide précieuse!Syntaxe de structure statique unique dans C?
static Foo f =
{
.a = {DEFAULT_FOO},
.b = DEFAULT_BAR,
.c[0] = { 0 }
#ifdef BAR
,
.c[1] = { 0 },
.c[2] = { 0 }
#endif
};
Je me suis heurté à cela il ya une semaine. C'est une extension GNU, je ne me souviens plus de ce qu'on appelle ... –
Cette forme d'initialisation est uniquement disponible en C99, et éventuellement aussi en extension gcc pré C99. –
http://gcc.gnu.org/onlinedocs/gcc-4.4.1/gcc/Designated-Inits.html#Designated-Inits –