在我的考试中有一个问题。
编写一个函数DeleteList
(),它接受一个列表,释放其所有内存并将其头指针设置为 NULL(空列表)。
解决方案为
void DeleteList(struct node** headRef) {
struct node* current = *headRef;
struct node* next;
while (current != NULL) {
next = current->next;
free(current);
current = next;
}
*headRef = NULL;
}
我的解决方案:
void DeleteList(struct node** headRef) {
struct node* current = *headRef;
while (current != NULL) {
*headRef = *headRef->next;
free(current);
current = * headRef;
}
free(current);
*headRef = NULL;
}
这是正确的方法吗?谢谢,