Mam taki kod
int m, n;
double **tab;
printf("Podaj ilosc wierszy");
scanf("%d", &m);
printf("Podaj ilosc kolumn");
scanf("%d", &n);
tab = (double**) malloc(sizeof (double*) * m);
for (int i = 0; i < m; i++){
tab[i] = (double*) malloc(sizeof (double)*n);
}
char temp = getchar();
temp = getchar();
temp = getchar();
for (int i = 0; i < m; i++){
free(tab[i]);
}
free(tab);
printf("\nzwolniono");
temp = getchar();
temp = getchar();
Mam włączony menedżer zadań i obserwuje jak pamięć się zachowuje.
W momencie zaalokowania pamięci wykres zauważalnie podnosi się i utrzymuje stały poziom.
Po przejściu do następnego etapu, czyli do zwalniania pamięci wykres nie opada.
Dopiero po zakończeniu pracy programu, wykres wraca co normy.
Dlaczego wykres pamięci nie opada po zastosowaniu funkcji free()?