typedef struct maillon *LISTE; //Pointeur sur maillon qui permet ensuite d'allouer le premier élément.
typedef struct maillon {
int info; //On veut stocker une donnée de type int.
LISTE suivant; //Permet de lier les éléments les uns aux autres en pointant vers un élément du même type.
} MAILLON;
void supprime(LISTE *pL, int n) {
if (*pL == NULL)
puts("End of list\n");
else if (*pL->info == n) {
MAILLON *tmp;
tmp = *pL;
*pL = tmp->suivant;
free(pL);
} else
supprime(&((*pL)->suivant), n);
} // supprime()
Bonsoir, j'ai un problème en voulant compiler mon code. J'ai une erreur sur "else if (*pL->info == n)" et je ne comprends pas comment comparer le pointeur avec l'int n. Il faut récupérer la valeur du pointeur, c'est ce que j'ai fait avec "*pL->info" non ? L'objectif de la fonction supprime() est de supprimer la première occurrence de n dans la liste chaînée. PS : Il faut que ce soit une fonction récursive.
Merci pour l'aide que vous pourrez m'apporter ! J'ai un peu de mal avec les listes chaînées
"L'expérience, c'est le nom que chacun donne à la somme de ses erreurs." (Oscar Wilde)
"L'expérience, c'est le nom que chacun donne à la somme de ses erreurs." (Oscar Wilde)
Problème sur les listes chaînées
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.