Posté le 19/01/2015 21:54

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2025 | Il y a 143 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 19/01/2015 22:52 | #
Realloc ne realloue pas forcément au même endroit
Du coup tes pointeurs sont pas forcements corrects. Pour ton truc, je te conseille de faire une liste chaînée
Citer : Posté le 20/01/2015 18:35 | #
Une liste chainée
Citer : Posté le 20/01/2015 18:37 | #
Je te suggère d'utiliser malloc et un pointeur temporaire. Je ne sais plus si realloc conserve le pointeur en cas d'échec. Sinon oui, les listes chaînées c'est une idée mais ça me semble un peu lourd pour une map.
Citer : Posté le 20/01/2015 18:56 | #
Tu peux devellopper un peu
J'ai un peu de mal a comprendre comment faire la avec le pointeur temporaire
Citer : Posté le 20/01/2015 18:58 | #
type* pointeurTemporaire = malloc(taille);
if(pointeurTemporaire != NULL) {
//copier données, la flemme de sortir la syntaxe de memcpy
free(pointeur);
pointeur = pointeurTemporaire;
}
Citer : Posté le 20/01/2015 20:07 | #
Je te suggère d'utiliser malloc et un pointeur temporaire. Je ne sais plus si realloc conserve le pointeur en cas d'échec.
Non justement, et c'est le gros problème de cette fonction : en cas d'erreur elle renvoie NULL, ce qui écrase l'ancienne adresse, mais la mémoire n'est pas libérée !