이것은 나보다 C 프로그래밍이 뛰어난 사람이 수행합니다. 일부 노드 목록을 만든 후 아래 C에서 free()를 사용하는 것에 혼란 스럽습니다.
C
무료의 사용() 이상 혼란는
자신의 코드는이 때 종료
않는 연결리스트typedef struct node {
int value;
struct node *next;
} ListNode;
typedef struct list {
ListNode *head;
} LinkedList;
의 구조체입니다
void deleteList(LinkedList *ll) {
if (ll != NULL) {
ListNode *temp;
while (ll->head) {
temp = ll->head;
ll->head = temp->next;
free(temp);
}
free(ll);
}
}
위의 내용을 이해할 수 없습니다. 왜 그가 그런 복잡성을 만들어야하는지, 왜 그냥 자유롭지 않을지 (ll). 도와주세요
미리 감사드립니다.
당신은 'malloc'하나 하나를 '자유롭게'해야합니다. –
연결 목록이 무엇인지 얼마나 잘 알고 있습니까? 여기 또는 짧은 설명이 있습니다. – RobP
각 할당 작업을 취소해야합니다. 목록에 노드를 추가하는 구현을 살펴보십시오. 이는 단서를 제공합니다. – SomeWittyUsername