我正在尝试用C语言实现TRIE数据结构。 我有一个trie struct,insert函数和main函数。
在主要功能中,我逐行读取文件并按空格分割。所以我想把这个分割后的数据按参数插入函数。但是当我要打印它时,它不起作用。
这是一个例子
struct Trie{
struct Trie *children[CHAR_SIZE];
char *value;
};
插入这样的函数
void insert(struct Trie **head, char *str, char *value){
.
.
.
.
curr->value = value;
}
和主要功能
int main() {
.
.
.
char *name;
char *value;
opr = strtok(NULL, " ");
name = opr;
opr = strtok(NULL, " ");
value=opr;
insert(&root, name, value) // this insert code is not working
}
如果我喜欢上面的方法,那将无法正常工作,但是如果我喜欢
insert(&root, name, "string") // it works
当我手动输入值时有效。
如何传递值以插入函数?动态,静态?要不然?
提前谢谢。