Suppression d'une case d'un tableau dynamique
Fermé
caro4991
Messages postés
1
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
17 mai 2009
-
17 mai 2009 à 16:16
loupius - 17 mai 2009 à 17:15
loupius - 17 mai 2009 à 17:15
A voir également:
- Suppression d'une case d'un tableau dynamique
- Tableau croisé dynamique - Guide
- Forcer la suppression d'un fichier - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
1 réponse
Oh là là, que d'erreur !!!
void * calloc (size_t n, size_t t);
void * realloc ( void * tablettres , size_t t );
Ceci est apparemment exact, mais 'size_t t' n'a pas la même signification dans les 2 cas.
void* calloc (size_t nbreElements, size_t taille1element);
void* realloc ( void* ancienBloc , size_t nouvelleTailleBloc);
Donc ici tu dois écrire:
tablettres = realloc (tablettres, 5*sizeof(int));
for (i=0 ; i<6 ;i++) na pas de sens: tu dois t'arrêter à '<5' si le 6ème caractère est le même que précédemment, il ne faut pas en tirer la conclusion que 'realloc' n'a rien changé; en vérité réalloc n'a probablement pas changé le pointeur de place (inutile d'allouer un autre emplacement mémoire et de recopier le contenu, le compilateur optimise! il ne faut pas l'oublier), mais il a libéré le 6ème octet qui , plus tard, sera probablement réutilisé.
Bonne continuation?
void * calloc (size_t n, size_t t);
void * realloc ( void * tablettres , size_t t );
Ceci est apparemment exact, mais 'size_t t' n'a pas la même signification dans les 2 cas.
void* calloc (size_t nbreElements, size_t taille1element);
void* realloc ( void* ancienBloc , size_t nouvelleTailleBloc);
Donc ici tu dois écrire:
tablettres = realloc (tablettres, 5*sizeof(int));
for (i=0 ; i<6 ;i++) na pas de sens: tu dois t'arrêter à '<5' si le 6ème caractère est le même que précédemment, il ne faut pas en tirer la conclusion que 'realloc' n'a rien changé; en vérité réalloc n'a probablement pas changé le pointeur de place (inutile d'allouer un autre emplacement mémoire et de recopier le contenu, le compilateur optimise! il ne faut pas l'oublier), mais il a libéré le 6ème octet qui , plus tard, sera probablement réutilisé.
Bonne continuation?