我正在尝试创建一个 trie,除非另有说明,否则我需要让所有 bool 值都等于 false。然而,这种同时进行成员初始化和定义的格式显然只在 c++11 中有效……在 c99 中有什么办法可以做到这一点吗?
typedef struct
{
bool booleans[28] = { false };
struct node *next[27];
}node;
最佳答案
在 C 中,您不能在类型声明中进行初始化。
但默认初始化为所有未明确列出的成员提供 0
,这与您的情况下的 false
相同。
所以在没有初始化的情况下声明node
,然后用类似的东西声明变量
node X = { 0 };
关于c - c99 中的同时结构成员初始化和定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45380879/