Как использовать realloc в функции в C [duplicate]

На этот вопрос уже есть ответ здесь:

Динамический доступ к памяти работает только внутри функции 1 ответ

Основываясь на том, что я узнал здесь:Управление динамическим массивом через функции в C.

void test(int data[])
{
    data[0] = 1;    
}    

int main(void)
{    
    int *data = malloc(4 * sizeof *data);

    test(data);

    return 0;
}

Это отлично работает. Тем не менее, я также пытаюсь использоватьrealloc в функции.

void increase(int data[])
{
,    data = realloc(data, 5 * sizeof *data);    
}

Это соответствует, но программа падает при запуске.

Вопрос

Как я должен использовать realloc в функции?

Я понимаю, что я должен назначить результатrealloc к переменной и проверьте, если этоNULL первый. Это просто упрощенный пример.

Ответы на вопрос(3)

Ваш ответ на вопрос