Здравствуйте DarkGray, Вы писали:
DG>Здравствуйте gh, Вы писали:
gh>>как можно высвободить оставшуюся память с 21 по 50?
DG>a = (int*)realloc (a, 20 * sizeof(int)); //20 — новый размер блока.
Это понятно.
Только при этом, на сколько я понимаю, происходит выделение памяти в другом месте и туда происходит копирование этих 20 элиментов, а та память высвобождается.
Но это помоему не очень оптимально, так как реально у меня массив гдето на 5000*16 байт и очень часто идёт выделени и перераспределение. Меня волнует вопрос об оптимальности.