2017-07-28 4 views
1

J'essaye de créer un trie, et j'ai besoin que tous les booléens soient égaux à faux, sauf indication contraire. Cependant, ce format pour l'initialisation et la définition simultanées des membres n'est valide qu'en C++ 11 ... Y a-t-il un moyen de le faire en c99?initialisation et définition de membre de structure simultanée dans c99

typedef struct 
{ 
    bool booleans[28] = { false }; 
    struct node *next[27]; 
}node; 
+0

Non, il n'y a aucun moyen de faire cela en C99 specifiquement. – AnT

Répondre

1

En C, vous ne pouvez pas initialiser dans une déclaration de type.

Mais l'initialisation par défaut donne 0 pour tous les membres qui ne sont pas répertoriés explicitement, ce qui est la même chose que false dans votre cas.

déclareraient node sans l'initialisation, puis déclarer des variables avec quelque chose comme

node X = { 0 };