Почти каждая структура переменного размера, реализованная в популярных библиотеках, выполняет небольшую оптимизацию, чтобы избежать повторного использования. Помните, что обычно для того, чтобы увеличить их, нужно скопировать данные.
Обычно оно растет в больших количествах. общая стратегия состоит в том, чтобы удвоить размер, пока не достигнет некоторого предела, а затем увеличить его на фиксированную величину. и для сокращения, не беспокойтесь, чтобы изменить размер, пока это не тратит больше половины размера.
OTOH, некоторые реализации realloc () уже делают это за вас. увы, я сомневаюсь, что ваш «неясный язык» делает это ...