那么A->next=A->next->next;(删除B结点,这里我想问问,是不是这儿一定要加个free(B)才算删除B结点?)首先 A->next =A->next->next 意思只是将A的指针指向C 不是说 删除B B在内存中还是存在的 只是和A C失去了前后继的关系 用free 来释放B节点而后面的p=p->next 不是删除节点,而是使得指针p向后移动 明白吗