C语言单链表结点的删除中,为什么还要引入一个tempPtr 。这是必要的吗?可以省去吗?
临时保存要释放内存的节点地址。链表要维持正常,待删除节点的前一个节点(或者头节点)需要指向下它的一个节点,先从链表中移出,然后释放空间
如果待删除的结点是首结点,有必要用 tempPtr 作为临时变量记录需释放的结点地址,再用 free(tempPtr)释放。后面的除头结点外的其它结点删除,可以不用 tempPtr 为临时变量,可以直接用 free(currentPtr);