【发布时间】:2019-10-14 16:56:19
【问题描述】:
我正在编写一个插入到树中的函数,并且在插入函数后可以看到(打印)数据,但是当尝试在 main 中查看它时没有任何反应。
node *tree = NULL;
insert(tree, 4321);
printf("outer: %d\n", tree->data);
void insert(node* tree, int data) {
if (tree == NULL) {
tree = new_node(data);
printf("inner: %d\n", tree->data);
}
}
这给出了:
inner: 4321
应该是:
inner: 4321
outer: 4321
【问题讨论】:
-
我的代码树是一个指向变量的指针。当您调用 tree = xxx 时,您将指针设置为新的内存位置,并且原始树指针保持不变,指向旧的空树
标签: c pointers pass-by-value