[Solved] How to use realloc in a function in C


You want to modify the value of an int* (your array) so need to pass a pointer to it into your increase function:

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

Calling code would then look like:

int *data = malloc(4 * sizeof *data);
/* do stuff with data */
increase(&data);
/* more stuff */
free(data);

1

solved How to use realloc in a function in C