j'ai un ensemble de struct, définis comme suit:Initialiser structures imbriquées sans définir tous les champs
typedef struct
{
int index;
int array[10];
}
Item;
typedef struct
{
Item A;
Item B;
Item C;
}
Collection;
Et je veux déclarer une variable de type Collection
comme suit:
Collection collection =
{
{ 1, 0 }, /* item A */
{ 2, 0 }, /* item B */
{ 3, 0 } /* item C */
};
Est-ce que ce définir les trois variables index
sur 1, 2 et 3, tout en initialisant les trois variables array[]
avec zéro?
Il semble fonctionner sur mon compilateur, mais j'aimerais savoir si c'est le comportement standard.
C'est plutôt cool. Je n'avais jamais entendu parler des initialiseurs désignés jusqu'à aujourd'hui! –