Bonjour,
Comme vous avez pu le lire dans le titre une question me turlupine sur la fonction realloc!!!
Vous pouvez voir dans ce post https://www.developpez.net/forums/d1...loc-ca-marche/ que je propose une interprétation de la fonction realloc :
On peut y voir que ancienneTaille ne fait pas parti des paramètres et est déterminée par la fonction elle même. Or après plusieurs recherche obtenir la taille d'une zone mémoire allouée dynamiquement avec la bibliothèque standard est impossible, seulement realloc y arrive très bien !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void *realloc(void *blocACopier, size_t nouvelleTaille){ void *tmp=malloc(nouvelleTaille); //allocation d'une nouvelle zone mémoire if(tmp==NULL){ //allocation raté return NULL; } memcopy(tmp, blocACopier, ancienneTaille); //copie free(blocACopier); //libération return tmp; }
D'où ma question : comment elle fait?
Partager