C程序单链表的撤消问题
以下是<数据结构>清华大学出版社王伟军主编的书上的一个单链表的撤消函数我不理解,希望高手帮忙看看,很抱歉,我分不多.voidDestroyList_L(LinkList&...
以下是<数据结构>清华大学出版社 王伟军主编的书上的一个单链表的撤消函数
我不理解,希望高手帮忙看看,很抱歉,我分不多.
void DestroyList_L(LinkList &L)
{
LinkList p,p1;
p = L;
while(p)
{
p1 = p;
p = p ->next;
free(p1);
}
L =NULL;
}
我认为这个函数至少有两个错误, 但这本书看起来不应该有问题啊,清华大学出版社的呀!
还请高手确认,是我理解错了,还是真的书上就错了.
1, p = p->next 应该是指针才可以这样用,但是从代码看,p不是指针.
2, free(p1)能起到作用吗?它 free的只是p的一个拷贝吧.(p1=p)
就好象int i=100; int *p=&i;
int *q;
q=p;
free(q);难道这样就可以释放p吗?
谢谢回答! 展开
我不理解,希望高手帮忙看看,很抱歉,我分不多.
void DestroyList_L(LinkList &L)
{
LinkList p,p1;
p = L;
while(p)
{
p1 = p;
p = p ->next;
free(p1);
}
L =NULL;
}
我认为这个函数至少有两个错误, 但这本书看起来不应该有问题啊,清华大学出版社的呀!
还请高手确认,是我理解错了,还是真的书上就错了.
1, p = p->next 应该是指针才可以这样用,但是从代码看,p不是指针.
2, free(p1)能起到作用吗?它 free的只是p的一个拷贝吧.(p1=p)
就好象int i=100; int *p=&i;
int *q;
q=p;
free(q);难道这样就可以释放p吗?
谢谢回答! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询