【发布时间】:2021-11-17 16:17:44
【问题描述】:
typedef struct ListNode{
char data[4];
struct ListNode* link;
} listNode;
typedef struct{
listNode* head;
}linkedList_h;
void freeLinkedList_h(linkedList_h* L){
listNode *p;
while(L->head!=NULL){
p=L->head;
L->head=L->head->link;
free(p);
p=NULL;
}
}
这是我教科书的示例代码。在freeLinkedList_h中,为什么我们使用“p=NULL”?
【问题讨论】:
-
因为那本书的作者秘密地传达了他们的信念,即更多的代码 = 更好的代码?那行代码绝对没有理由,你注意到了;道具。以此为燃料来审查该作者的其他代码。不相关的
p-=L->head;甚至不是有效代码,但我认为这是一个错字(为了将来参考,当您复制+粘贴工作代码而不是手动时,错字是不可能 - 在 SO 编辑器中输入未编译、未经测试的代码)。 -
p-=L->head有什么问题? -
p-=L->head 是我的错字。对不起
标签: c linked-list free singly-linked-list