whyyouhitme_
whyyouhitme_
采纳率65.7%
2018-05-14 08:25 浏览 829
已采纳

为何以<指向指针的指针>作为参数传递,没看到要修改其指向地址的动机啊?

5

Status ListDelete(LinkList *L,int i,ElemType *e)
{
int j;
LinkList p,q;
p=L->next;//
j=1;
while(p->next&&j {
q=p;
p=p->next;
++j;
}
if (!(p->next)||j>i)//排除此两者后,此时j=i
return ERRPR;
q->next=p->next;
*e=p->data;
free(p);
return OK;
}

删除单链表某个结点。虽说删除后,表成为了一个新表。但是L不一直都是头结点吗,并且指向第一个有值结点吗(就是头结点后面那个结点)所以,为什么要用LinkList *L呢?直接L不就行吗

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2018-05-14 08:26

    你能确定 LinkList 是指针的类型么?或者说LinkList *是指针的指针么?
    你点LinkList,右键,选转到定义看下

    这里的确不需要指针的指针,

    点赞 评论 复制链接分享
  • juertql juertql 2018-05-16 07:08

    如果:typedef{...}Node;然后定义Linklist为:typedef struct Node *Linklist;
    那么:p=L->next;这样访问是有问题的

    点赞 评论 复制链接分享

相关推荐