void *realloc(void *ptr, size_t newsize)
Прототип:
Описание:
Функция realloc() изменяет величину выделенной памяти, на которую указывает ptr, на новую величину, задаваемую параметром newsize. Величина newsize задается в байтах и может быть больше или меньше оригинала. Возвращается указатель на блок памяти, поскольку может возникнуть необходимость переместить блок при возрастании его размера. В таком случае содержимое старого блока копируется в новый блок и информация не теряется.
Если свободной памяти недостаточно для выделения в куче блока размером newsize, то возвращается нулевой указатель.
Пример: