我有一个程序,它有一个名为 head 的节点。我想将 head 设置为 NULL,但是我想在 void 内执行此操作。所以我将头节点传递给方法:
void removeNode(node* head) {
head = NULL;
}
然而,这并没有改变主函数中的头部,只是在空处改变。有谁知道如何更改作为参数传递给 void 的节点的值?
P.S:根据要求,我不能使用 free 函数或任何内存未分配方法。
最佳答案
您需要这样做:
void removeNode(node** head) {
(*head) = NULL;
}
这会将实际指针更改为NULL
,以便它不再指向任何内容。
关于c - 如何使用 void 修改链表节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26422407/