Передача двойного указателя заголовка связанного списка

Я видел это в какой-то книге / учебнике.

Когда вы передаете указатель заголовка (связанного списка) в функцию, вам нужно передать его как двойной указатель.

Например: // Это обратный связанный список, в котором заголовок указывает на первый узел.

void nReverse(digit **head)
{
    digit *prev=NULL;
    digit *curr=*head;
    digit *next;

    while(curr!=NULL)
    {
        next=curr->next;
        curr->next=prev;
        prev=curr;
        curr=next;
    }
    *head=prev;
    return;
}

Это отлично работает.

Это также работает, когда я использую один указатель, как,

void nReverse(digit *head)
{
    digit *prev=NULL;
    digit *curr=head;
    digit *next;

    while(curr!=NULL)
    {
        next=curr->next;
        curr->next=prev;
        prev=curr;
        curr=next;
    }
    head=prev;
    return;
}

Я попытался напечатать список с помощью указателя головы. Обе функции работают нормально.

Я что-то пропустил ?

Спасибо,

Ответы на вопрос(5)

Ваш ответ на вопрос