есть пара функций, одна определяет число элементов
вторая возвращает их по одному (проинициалировав malloc-ом)
extern int GetElementsCount()(void);
extern elementsStruct* GetNext(void);
void load(elementsStruct **arr, int * cnt)
{
*cnt = GetElementsCount();
*arr = (elementsStruct *)malloc(*cnt*sizeof(elementsStruct *));
for (int i = 0; i < *cnt; i++)
arr[i] = GetNext();
return;
}
main()
{
elementsStruct **arr1 = (elementsStruct **)malloc(sizeof(elementsStruct *));
int cnt = 1;
load(arr1, &cnt);
for (int i = 0; i < cnt; i++)
{
printf("print something from elementsStruct\n");
free((void*)arr1[i]);
}
free((void *)*arr1);
free((void *)arr1);
return 0;
}
при выполнении ругается, что память портится..
а по моему разумению, должно быть именно так

где прокололся? так же приветствуются комментарии на сколько все криво.