В C (или C ++) мне интересно, можно ли частично освободить блок памяти.
Например, предположим, что мы создаем массив целых чисел a
размером 100,
int * a = malloc(sizeof(int)*100);
, а затем мы хотим изменить размер a
так, чтобы он содержал 20 целых чисел, а не 100.
Есть ли там. способ освободить только последние 80 * sizeof (int) байт из a
? Например, если мы вызовем realloc, будет ли это автоматически?