事实上,对指针参数做检查是不现实的,如果传进来的是NULL还可以检查一下,如果传进来的是野指针,根本无法检查它指向的内存单元是不是合法的,C标准库函数通常也不对指针参数做检查,例如strcpy(p, NULL)就会引起段错误。
由于引入了prev指针,insert和delete函数中都有一些特殊情况需要用特殊代码处理,不能和一般情况用同样的代码处理,这非常不爽,如果在表头和表尾各添加一个Sentinel节点(这两个节点只用于界定表头和表尾,不保存元素),就可以把这些特殊情况都转化为一般情况了。