비슷한 질문이 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