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

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个回答

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

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

whyyouhitme_
whyyouhitme_ 回复caozhy: 卡在这些没意义 的地方浪费了好多时间了。你说的数据结构与算法in C,我看不懂。前言就说了是给研一学生编写的。。。不行去看算法第四版了
2 年多之前 回复
caozhy
回答这么多问题就耍赖把我的积分一笔勾销了 回复whyyouhitme_: 大话数据结构,这本书上的源代码很多不规范。这恐怕是国人的书的通病了。
2 年多之前 回复
whyyouhitme_
whyyouhitme_ 这个是大话数据结构原文。它为单链表定义结点:是typedef{...}Node;然后定义Linklist为:typedef struct Node *Linklist。这不就是指向结点的指针吗
2 年多之前 回复

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问