Как использовать 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
первый. Это просто упрощенный пример.