Bonsoir tout le monde,
je viens vous voir car j'ai déjà galéré plusieurs heures sur mon problème.
Pour m'entrainer, je souhaite faire l'implémentation d'une pile sous la forme d'un tableau dynamique qui est vide au départ, et auquel j'alloue juste ce qu'il faut de mémoire à chaque ajout d'un nouvel élément. La mémoire qui n'est plus utilisée est libérée à chaque élément retiré de la liste.
Les sources sont disponibles en fichiers attachés à ce post
Les problèmes que je rencontre :
====================
Premier Problème :
--------------------------
si j'ai une pile s avec des données dans le tableau et que je veux la VALEUR de l'élément du dessus de la pile, comment je fais ? J'ai essayé des trucs du genre :
mais ca me donne toujours une erreur de ce type à la compilation (j'ai ce problème dans stack_afficher):*stack_top(s)
Deuxieme Problème :stack.c:--: attention : dereferencing `void *` pointer
stack.c:--: erreur: utilisation invalide d'expression void
------------------------------
Lorsque je veux désallouer la mémoire de s->donnees, est ce que je peux juste faire un :
Ou est-ce qu'il faut que je libère d'abord tous les pointeurs contenus dans s->donnees ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 free(s->donnees)
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for (int i=0 ; i++ ; i < s->taille){ free(s->donnees[i]) }
Cordialement
Partager