в данном коде почему остальные одинаковы во всех областях. Я думаю, это должно быть так же, как first-> next..Я создал 3-элементный связанный список и передал головной узел в обратной функции
void reverse(struct Node **head){
struct Node* first = NULL,*rest=NULL;
if(*head == NULL)return;
first = *head;
rest = first->next;
printf("%x %x\n",first,rest);
if(rest == NULL)return;
reverse(&rest);
printf("%x %x %x \n",first,first->next,rest);
first->next->next = first;
first->next = NULL;
*head = rest;
}
6615c8 6615f8
6615f8 661608
661608 0
6615f8 661608 661608
6615c8 6615f8 661608
Вывод, приведенный здесь, является printf только для этой функции. И этот вывод для связанного списка из 3 элементов