Hello ! Il neige à Montréal !
Trois questions petites questions sur les pointeurs :
- Ce que j'ai écrit supprime bien le noeud ?
- Dois-je faire un free(), c'est à dire libérer la mémoire du noeud supprimé après ?
- Pour utiliser ce code à partir d'autres fichier C, est-il obligatoire de mettre extern ? Sinon pourquoi ? Dois-je ou puis-je le mettre sur le typeDef Racines ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 typedef struct Racines { val_t *objet; struct Racines *next; } Racines;Merci de vos réponses !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 extern void delete_root(val_t *node, Racines *l) { // on supprime dés qu'on trouve, sinon rien Racines R = *l; Racines temp; while (R->objet != *node) { temp = R; R = R->next; } // si on a trouve le noeud a supprimer if (R->objet == *node) { temp->next = R->next; } else { fprintf("ce noeud n\'existe pas !"); } }
Partager