Pop de de liste Liée

J'ai mis en place une Liste Liée à une fonction de bruit dans C:

Node * pop (Node * head) {
    Node * temp = head;

    printf("Temp is: %s\n", temp->val);

    if (head->next != NULL) {
        *head = *head->next;
    }

    printf("Temp is: %s\n", temp->val);
    return temp;
}

Et la sortie quand je pop serait quelque chose comme:

Temp is: node1 value
Temp is: node2 value

C'est-à-dire que la temp est de plus en temp->suivant lorsque je attribuer *head = *head->next.

Alors, comment puis-je obtenir la valeur du courant head et retourner tout en déplaçant la tête de la liste Liée à head->next?

Faire head = head->next ne PAS supprimer la référence vers le premier nœud. (c'est à dire Lorsque j'imprime la liste, le premier nœud est toujours là).

Grâce.

OriginalL'auteur Travv92 | 2013-08-27