梅祥 发表于 2019-8-12 17:38:41

学习数据结构有一段时间了,萌新有一些问题想请教大佬

在学单链表的时候有好多问题没搞清楚

typedef struct Node
{
      int data;
      struct Node *next;
}LinkList;

       1.在单链表中的函数定义有的是这样定义的:   int InsertList(LinkList *L)    也有些是这样定义的    LinkList *InitList()    ,我想问一下int定义类型与   LinkList定义类型应该怎样区别和正确使用。
       2.在单链表函数定义完成后开始编写主函数,可主函数中要调用前面已经定义好了的函数又应该如何取参数   比如 在调用   InsertList(L)   括号中的参数为之前已经定义的    LinkList *L;但是我
       也有见到括号里的参数是这样的   InsertList(&L)    有些纠结
       3.在循环链表学习时,我发现了一个这个   LinkList **pNode    所以说**pNode到底是什么呢,或者*pNode是什么,再或者pNode又是什么


求大佬解答

Seawolf 发表于 2019-8-14 11:42:22

这些都是最基本的定义,还是希望你把小甲鱼的视频认真看一下

梅祥 发表于 2019-8-14 17:34:24

Seawolf 发表于 2019-8-14 11:42
这些都是最基本的定义,还是希望你把小甲鱼的视频认真看一下

谢谢你,虽然你没怎么回答,但是我今天下午自己把这些问题都想通了,可能是之前的指针函数没搞清楚,我总是忽略了一点,就是相同类型数据才能赋值,不同类型不能赋值。
typedef struct Node
{
       int data;
       struct Node *next;
}Node,*LinkList;

//如果要调用一个函数,例如InitList()
//我们就必须将它定义为指针类型,因为
//后面我们要定义一个指针变量接收
LinkList InitList()
//之后在主函数中就可以这样
int main()
{
       LinkList L;
       L=InitList();
       //L与InitList都是指针类型,才可以赋
      值
}
页: [1]
查看完整版本: 学习数据结构有一段时间了,萌新有一些问题想请教大佬