Jak korzystać z funkcji realokacji w funkcji w C [duplikat]

To pytanie ma już tutaj odpowiedź:

Dostęp do pamięci dynamicznej działa tylko wewnątrz funkcji 1 odpowiedź

Opierając się na tym, czego się tutaj dowiedziałem:Manipulowanie dynamiczną tablicą poprzez funkcje w C.

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

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

    test(data);

    return 0;
}

To działa dobrze. Jednak staram się też używaćrealloc w funkcji.

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

Jest to zgodne, ale program ulega awarii po uruchomieniu.

Pytanie

Jak używać realloc w funkcji?

Rozumiem, że powinienem przypisać wynikrealloc do zmiennej i sprawdź, czy takNULL pierwszy. To tylko uproszczony przykład.

questionAnswers(3)

yourAnswerToTheQuestion