有没有办法指向指针变量而不是它的地址空间,以便可以将其更改为NULL。像这样的东西。对于这个可怜的问题,我深表歉意,我想不出更好的方式来表达我想要做的事情。 谢谢。
typedef struct Node
{
int val;
struct Node *r;
struct Node *l;
} Node;
Node* del(Node *N, int v)
{
Node *n = N;
Node **p = NULL;
while (n != NULL)
{
if (something)
{
p = n.r;
n = n->r;
}
else {
p = n.l;
n = n->l;
}
free(n);
*p = NULL;
}
}
最佳答案
您可以在指针上使用 &
,就像在任何其他变量上一样。就您而言,您可能希望将 del
更改为:
Node *del(Node **N, int v)
然后这样调用它:
x = del(&someNode, 12);
关于c - 如何指向指针变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17660433/