双向链表中每个结点有两个指针域 prev 和 next,分别指向该结点的前驱及后继结点。设 p 指向链表中的一个结点,它的前驱结点和后继结点均非空。要删除结点 p,则下述语句中错误的是( )。
A.
p->next->prev = p->next;
p->prev->next = p->prev;
delete p;B.
p->prev->next = p->next;
p->next->prev = p->prev;
delete p;C.
p->next->prev = p->prev;
p->next->prev->next = p->next;
delete p;D.
p->prev->next = p->next;
p->prev->next->prev = p->prev;
delete p;函数指针:bool (*Fx)(int) 声明一个指向"接收int返回bool"的函数的指针,可作为参数传递给其他函数(回调机制)。
函数指针和普通指针不同,函数指针指向的是代码段中的函数入口地址。声明格式:返回类型 (*指针名)(参数列表)。
【考点】双向链表指针链接|内存释放顺序
GESP五级「链表操作」模块核心考点。命题人卡住的是指针更新与delete的先后顺序——五级考生最容易在删节点时把指针改完再delete,却忘了delete后p的指针域已失效。