如何指向指针变量

时间:2013-07-15 17:41:38

标签: c pointers

有没有办法指向指针变量而不是它的地址空间,以便可以将其更改为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;
    }
}

1 个答案:

答案 0 :(得分:3)

您可以在指针上使用&,就像在任何其他变量上一样。在您的情况下,您可能希望将del更改为:

Node *del(Node **N, int v)

然后称之为:

x = del(&someNode, 12);