je rencontrais ce petit morceau de code dans this question, & voulait savoir,Shrinking avec realloc
la fonction realloc()
ne peut jamais déplacer un bloc de mémoire à un autre emplacement, lorsque l'espace mémoire pointé est rétreint?
int * a = malloc(10*sizeof(int));
int * b = realloc(a, 5*sizeof(int));
Si possible, dans quelles conditions, puis-je espérer b
d'avoir une adresse différente de celle a
?
Juste pour lever le doute, j'ai effectivement rencontré cette situation sur iOS 6 où un realloc de 40K jusqu'à 224 octets déplace réellement la mémoire à un nouvel emplacement. – sup