Мне интересно, как я могу динамически распределять и заполнять массив, и иметь значения, доступные в другой функции. Я sh хочу сделать это без каких-либо возвращаемых значений, и поэтому я хочу передать адрес от function1 к function2, где function2 выделяет память, на которую указывает адрес из function1. Вот краткий пример псевдокода:
void func2(int **array)
{
// Read array length from a data file.
*array = malloc(array_length*sizeof(int));
// Set array values from a datafile.
}
void func1()
{
int *array;
func2(&array);
// Use array values
}
Как я могу это сделать? Я пробовал много раз, но в конечном итоге получился либо «Ошибка смещения адреса», либо «Ошибка границы адреса». В конечном итоге я sh хочу сделать это с пользовательской структурой, но я считаю, что процесс похож на динамически распределенный массив. Огромное спасибо за любую помощь!