typedef struct Node *LinkList; 到底怎么理解啊 求解释啊

我的理解是这个LinkList是Node*的别名,这个LinkList指针类型吧在单链表的读取中StatusGetElem(LinkListL,inti,ElemType... 我的理解是这个LinkList是Node *的别名,这个LinkList指针类型吧 在单链表的读取中
Status GetElem(LinkList L,int i,ElemType *e)
{
int j;
LinkList p;/*声明一个结点p*/
p = L ->next;
...
}
LinkList p;/*声明一个结点p*/ 那这样 LinkList声明的p应该是个指针吧 而且p = L ->next 表示的也是个指针啊怎么会是一个结点呢
第二个问题是 在单链表的插入和删除中都是 Status ListInsert (LinkList *L,int i ,ElemType e)
为什么是LinkList *L 结点的初始化是p = *L
跪求解释啊 理解不了啊
展开
 我来答
热爱学习的Genji
高粉答主

2020-06-16 · 说的都是干货,快来关注
知道小有建树答主
回答量:1894
采纳率:100%
帮助的人:31.8万
展开全部

typedef struct Node *LinkList,就是把bai struct Node * 定义成了新类型 LinkList。

typedef是一种在计算机编程语言中用来声明自定义数据类型,后面的表示定义LinkList为LNode指针类型,用逗号进行分隔可以定义多个类型。这个类型是一个结构体的指针。

p是指针,L ->next也是指针,同类型指针赋值给指针是没有问题的。

第二个问题:在链表的插入删除时都需要对内存进行操作,所以需要指针来实现具体的删除插入,不然的话都是形参,对真正的数据不起作用。

扩展资料:

指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。

链表内包含很多结点(当然也可以包含零个结点)。其中每个结点的数据空间一般会包含一个数据结构(用于存放各种类型的数据)以及一个指针,该指针一般称为next,用来指向下一个结点的位置。由于下一个结点也是链表类型,所以next的指针也要定义为链表类型。

无奈叹水东流
推荐于2017-09-01 · TA获得超过274个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:79.2万
展开全部
这样理解:
typedef struct Node *LinkList;
就是把 struct Node * 定义成了新类型 LinkList。这个类型是一个结构体的指针。
回答你的问题:
p是指针,L ->next也是指针,你可以看struct Node的定义就知道了。同类型指针赋值给指针,完全没问题。
插入和删除用到的是实参,如果只传个形参过去是不行的,所以就需要用指向指针的指针。

总之,指针的本质就是数据的地址,这是你理解的关键。
数据结构中的链表这部分确实有点难理解,楼主最好画图理解。加油!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
香帅之枫
2014-09-02 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:68.7万
展开全部
我来回答
第一个问题: 对于节点的操作,我们都是对节点指针操作的,而不是通过直接对节点这个结构操作,L->next其实指的是一个指向下一节点的指针 你的P声明为 节点指针类型,P=L->next表示的的确是一个指针,但是这个指针代表了一个节点,这样你能理解吗?不能理解的话,请追问

第二个问题 在链表的插入删除时都需要对内存进行操作,所以需要指针来实现具体的删除插入,不然的话都是形参,对真正的数据不起作用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
康子大帅
2023-03-31
知道答主
回答量:1
采纳率:0%
帮助的人:258
展开全部
typedef struct Node *LinkList 是一个结构体指针类型的别名定义。这里定义了一个名为 'Node' 的结构体,并在结构体名称前添加了 *,使其成为一个指针类型。然后,使用 typedef 将这个指针类型定义为 LinkList,成为了一个新的类型名。
使用这个别名定义后,我们就可以方便地定义一个指向该结构体的指针类型的变量,而不需要在定义变量时再写一遍结构体指针类型的声明。
例如,我们可以这样声明一个指向 Node 结构体的指针类型的变量:
codeLinkList p;

这等价于以下声明:
codestruct Node *p;
但是,使用 LinkList 定义更简洁,更易读。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式