学习数据结构有一段时间了,萌新有一些问题想请教大佬
在学单链表的时候有好多问题没搞清楚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
这些都是最基本的定义,还是希望你把小甲鱼的视频认真看一下
谢谢你,虽然你没怎么回答,但是我今天下午自己把这些问题都想通了,可能是之前的指针函数没搞清楚,我总是忽略了一点,就是相同类型数据才能赋值,不同类型不能赋值。
typedef struct Node
{
int data;
struct Node *next;
}Node,*LinkList;
//如果要调用一个函数,例如InitList()
//我们就必须将它定义为指针类型,因为
//后面我们要定义一个指针变量接收
LinkList InitList()
//之后在主函数中就可以这样
int main()
{
LinkList L;
L=InitList();
//L与InitList都是指针类型,才可以赋
值
}
页:
[1]