我正在尝试创建一个trie,除非另有说明,否则我需要将所有布尔值等于false。但是,这种同时成员初始化和定义的格式仅在c ++ 11中有效......有没有办法在c99中这样做?
typedef struct
{
bool booleans[28] = { false };
struct node *next[27];
}node;
答案 0 :(得分:1)
在C中,您无法在类型声明中初始化。
但默认初始化为未明确列出的所有成员提供0
,这与您的情况中的false
相同。
因此,在没有初始化的情况下声明node
,然后使用类似
node X = { 0 };