问题:指针做函数参数

来源:互联网 发布:软件下载snapseed 编辑:程序博客网 时间:2024/06/09 05:42

有一个双向链表L,类型Xtype,

有一个删除节点的函数,

long delNode(Xtype *&Lhead,Xtype *&P)

{

if(P == null || Lhead == null)

return 0;

if(P->prior != null)

P->prior->next  = P->next;

else

Lhead = P->next;

if(P->next != null)

P->next->prior= P->prior;

free(P);

return 1;

}

两个Xtype指针P1,P2分别指向L的两个节点,P1,P2P2->next均非空

调用1:delNode(L,P1);正确删除P1;

调用2:delNode(L,P2->next);结果错误,

若使P2 = P2->next;

调用3:delNode(L,P2);正确删除P2,

调用2产生错误的位置为P->prior->next  = P->next;执行完此句之后P指向P->next,原因未知。

0 0
原创粉丝点击