2017-07-28 40 views
1

我想创建一个trie,我需要所有的布尔等于false,除非另有规定。然而,这种同时成员初始化和定义的格式只在C++ 11中有效......显然,有没有办法在c99中做到这一点?同时struct成员初始化和定义在c99

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

没有声明变量,有没有办法specificaly为此在C99。 – AnT

回答

1

在C中,你不能在类型声明中初始化。

但是,默认初始化为所有未明确列出的成员提供0,这与您的案例中的false是一样的。

所以申报node没有初始化,然后用类似

node X = { 0 };