Существует аналогичный вопрос here.Свободная память структуры с двумя полями данных
I имеют следующую структуру:
struct SimpleXY
{
double x;
double y;
};
struct SimpleEdge
{
SimpleXY first;
SimpleXY second;
}
struct SimpleEdgeList
{
uint num_edges;
SimpleEdge *SimpleEdges;
};
Что такое правильный способ освободить захват памяти, SimpleEdgeList
? Это мой текущий подход, но я задаюсь вопросом, нужно ли мне вручную освобождать поле данных first
и second
или нет.
void Free(SimpleEdgeList *myList)
{
free(myList->SimpleEdges);
}
Это структура C, и я ищу C-образную память.
Является ли это реализацией связанного списка? Если это так, вы должны делать 'struct SimpleEdgeList {int num_xy; SimpleEdgeList * next; }; ', а функция' Free() 'будет немного больше задействована. –
Наличие 'struct' с членом с тем же именем очень сбивает с толку. Пожалуйста, не делай этого. –
@ Chris, это * не * список ссылок. Моя структура правильная. Но я редактирую имя участника для уточнения – Graviton