Доброго времени суток.
Вопрос такой: есть функция, которая должна возвращать массив данных. Число элементов массива заранее не определено, поэтому последний должен использоваться динамически. Сейчас это сделано так: объявлен глобалый указатель, и в теле функции память выделяется для него обычным образом. Но хотелось бы сделать функцию полностью автономной.
Вот так:
main.c:
...
int main ()
{
Tchem * array=NULL;
...
result=get_data(handle, array, &count);
...
}
util.c:
int get_data(FILE *hnd, Tchem *arr, int *count)
{
...
/* подсчёт элементов в count */
...
arr=(Tchem *)malloc(count*sizeof(Tchem));
...
}
естественно не получается.
Можно ли как-нибудь это сделать, не используя глобальную переменную?