Здравствуйте, vav, Вы писали:
vav>при выполнении ругается, что память портится..
vav>а по моему разумению, должно быть именно так
vav>где прокололся? так же приветствуются комментарии на сколько все криво.
Видимо запутался в обилии указателей )
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 = 0;
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);
return 0;
}
Всяческие проверки на null-pointer тоже не мешает вставить.