静态链表函数参数L为什么没有*
本帖最后由 麻麦皮 于 2020-5-25 20:59 编辑typedef struct
{
ElemType data;
int cur;
} StaticLinkList;
Status ListInsert(StaticLinkList L, int i, ElemType e)
{
} 为什么要有*,我猜这应该是个节点吧? 把StaticLinkList的定义过程发过来 KevinHu 发表于 2020-5-25 20:41
把StaticLinkList的定义过程发过来
已发 永恒的蓝色梦想 发表于 2020-5-25 20:13
为什么要有*,我猜这应该是个节点吧?
顺序表和单链表的插入删除都有函数参数都包含*L,静态链表没有? 麻麦皮 发表于 2020-5-25 20:59
已发
StaticLinkList定义的是一个数组,而数组名也就是指针,所以StaticLinkList本来声明的就是一个指针,就不用再加*了 KevinHu 发表于 2020-5-25 21:01
StaticLinkList定义的是一个数组,而数组名也就是指针,所以StaticLinkList本来声明的就是一个指针,就不 ...
这就引申单链表的问题了,定义了*LinkList,单链表插入和删除函数参数包含了LinkList *L,这是二重指针,为什么不用一重指针? 麻麦皮 发表于 2020-5-25 21:14
这就引申单链表的问题了,定义了*LinkList,单链表插入和删除函数参数包含了LinkList *L,这是二重指针, ...
因为你要改变这个指针本身(如:创建单链表的时候要对指针重新赋值一个新的地址,删除单链表的时候要把指针重设为NULL),就要传进二重指针 KevinHu 发表于 2020-5-25 21:15
因为你要改变这个指针本身(如:创建单链表的时候要对指针重新赋值一个新的地址,删除单链表的时候要把指 ...
单链表不可以定义LinkList,传LinkList *L吗? 麻麦皮 发表于 2020-5-25 21:24
单链表不可以定义LinkList,传LinkList *L吗?
可以 麻麦皮 发表于 2020-5-25 21:24
单链表不可以定义LinkList,传LinkList *L吗?
求最佳{:10_254:} KevinHu 发表于 2020-5-25 21:25
可以
那我挺疑惑的,有时定义LinkList传LinkList *L,有时定义*LinkList传LinkList *L,为什么经常看见后面的写法较多,不应该越简单越好吗 麻麦皮 发表于 2020-5-25 21:30
那我挺疑惑的,有时定义LinkList传LinkList *L,有时定义*LinkList传LinkList *L,为什么经常看见后面的 ...
有时候为了修改指针的地址,要传双重指针,看实际情况了
页:
[1]