Bonjour (bonsoir) à tous.
J'ai une question sur la fonction realloc.
Admettons que je fasse un truc du genre :
est-ce que realloc va reperer les zones libres les enlever et me remettre le reste dans un tableau de 12 éléments avec tab[4] = 5, tab[9]=11 et tab[12]=14, par exemple ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int i=0; int* tab = (int *) malloc(sizeof(int)*15); for{i=0;i<15;i++){ tab[i]=i; } free(tab[4]); free(tab[9]); free(tab[14]); tab = realloc(tab,sizeof(int)*12);
nb : j'ai conscience que le code est pas terrible est qu'il faut tester chaque allocation pour éviter les erreurs, mais dans un souci de clarté j'ai pas voulu m'encombrer avec les tests habituels.
Partager