这是我的删除节点功能,谁能帮我看看它有什么问题?我似乎遇到了很多麻烦,因为我不明白其中的某些部分。
指向头部的指针应该如何使用?struct lnode** head,我知道这是一个指向头指针的指针。但是我不确定我是否正确使用它。
代码的第二部分,我不确定在删除函数调用的节点后是否正确连接了两个节点。
void deleteNode (struct lnode** head, struct lnode* node) { if((*head) == node){ struct lnode* temp = (*head) -> next; free(node); free(node->word); *head = temp; } else{ struct lnode *nextNode = node->next; struct lnode *prevNode; while((*head) != NULL){ if((*head)->next = node){ prevNode = *head; break; } else *head = (*head) -> next; } prevNode->next = nextNode; free(node); free(node->word); } }