Bonjour tout le monde,
Je pense que oui, mais : quand un bloc en mémoire est re-alloué avec la fonction realloc, si elle définit un nouveau bloc, est-ce que le contenu de l'ancien bloc est bien recopié dans le nouveau ?
Merci.
A+, Pierre.
Bonjour tout le monde,
Je pense que oui, mais : quand un bloc en mémoire est re-alloué avec la fonction realloc, si elle définit un nouveau bloc, est-ce que le contenu de l'ancien bloc est bien recopié dans le nouveau ?
Merci.
A+, Pierre.
Salut,
Je pense que realloc ne fait la recopie que si il n'y a plus assez de place après la zone donnée. Donc ça depend des cas, mais la recopie ne se fait pas toujours
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 avant la reallocation : | zone allouée | espace vide | autre zone ... il reste peut etre de la place : | zone allouée | ide | autre zone ... là ya plus de place, on change de zone et on recopie : | zone allouée | espace vide...
Et si tu lisais la doc des fonctions avant de t'en servir ?Envoyé par Pierre.g
http://man.developpez.com/
Pas de Wi-Fi à la maison : CPL
Ne pas 'penser que'. Lire la doc please...Envoyé par Gruik
Pas de Wi-Fi à la maison : CPL
J'ai lu la doc et ça m'a confirmé..
En fait j'en étais sur, mais je prefere dire "je pense" que risquer de me faire casser par Emdel si je me plante, il ya eu trop de fois où je me suis planté.
Dans les domaines techniques définis (il y a une norme), c'est une mauvaise solution (dire "je pense") à un vrai problème (si je me plante).Envoyé par Gruik
La bonne solution, c'est d'être sûr de soi, mais vraiment sûr. Au moindre doute, lire la doc (la bonne, le standard, c'est mieux que les man, qui se réfèrent souvent à une implémentation donnée...).
Pas de Wi-Fi à la maison : CPL
Merci.
J'avais bien lu la doc, mais je ne suis pas arrivé à traduite la fin de cette phrase que je pense répondais à ma question :
"The contents of the object will remain unchanged up to the lesser of the new and old sizes."
Donc c'est pour ça que j'ai préféré demandé confirmation.
A+, Pierre.
C'est simple, tu prends la plus petite taille entre l'ancienne et la nouvelle (le plus souvent, on utilise realloc() pour agrandir, donc l'ancienne taille sera la plus petite), et Toutes les données jusqu'à cette taille-là seront conservées.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Bonjour,
Suffit d'avoir la doc en français :Envoyé par Pierre.g
Envoyé par [URL=http://man.developpez.com/man3/realloc.3.php]man realloc[/URL]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager