realloc
Da cppreference.com
Sintaxe:
#include <cstdlib> void *realloc( void *ptr, size_t size );
A função realloc() muda o tamanho do bloco apontado por ptr para o novo size. size pode ser qualquer tamanho, maior ou menor que o original. O valor retornado é um ponteiro para o novo espaço ou NULL se houver algum erro. Em caso de falha, o bloco de memória original não é liberado ou movido. Se ptr é NULL, realloc() atua como malloc, criando um novo espaço de memória e retornando o ponteiro para o novo espaço.