单链表的插入和删除操作中,为什么要用指向指针的指针?
在单链表的中为什么要用指向指针的指针呢??为什么不直接用Linklist L呢??是因为函数是引入变量修改的是副本的原因吗?
Status LinkInsert(Linklist *L, int i, Elemtype e )
{
int j;
Linklist p, s;
p = *L;
j = 1;
while (p && j < i)
{
p = p->next;
++j;
}
if (!p || j > i)
return ERROR;
s = (Linklist ) malloc ( sizeof (Node) );
s->data = e;
s->next = p->next;
p->next = s;
return OK;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
一个是地址,一个是复制副本的原因
好好看下c语言的基础部分:
1.形参与实参
2.指针
传入一级指针如果只是删除添加除头结点以外的结点是可以的,但是删除和插入有可能需要修改头结点,这时需要传入二级指针来修改指向头结点的指针指向的位置。