gpt4 book ai didi

c - 如何在 C 中初始化 trie 数据结构并将子指针设置为 NULL?

转载 作者:行者123 更新时间:2023-11-30 19:51:26 24 4
gpt4 key购买 nike

我正在尝试用 C 语言初始化一个 trie 数据结构。但是,我无法将 Children[] 数组中的所有指针初始化为 NULL。这是我正在使用的代码的一部分:

typedef struct node
{
bool is_word;
struct node *children[27];
}
node;

我使用声明了根节点

node *root;

并尝试将子项设置为 NULL

root->children = {NULL};

但是,这不起作用,并给了我一条错误消息,如下

./dictionary.h:22:1: error: unknown type name 
'root' root->children = {NULL}; ^
./dictionary.h:22:5: error: expected identifier or '('
root->children = {NULL};

是否有另一种方法可以在不使用循环的情况下将children[]数组设置为全NULL?

最佳答案

首先,如果你要使用这个变量,你必须为其分配内存,否则你会得到段错误。

要分配,您可以使用:stdlib.h中的malloc()

但是如果你想将 et init 分配为 NULL,你可以使用 stdlib.h 中的 calloc()

查看手册中calloc的使用。

或者在您的情况下像这样使用它:

root->children = (node *) calloc(27, sizeof * root->children);

关于c - 如何在 C 中初始化 trie 数据结构并将子指针设置为 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43952823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com