14.11 C语言建立单向链表,图中倒数第二行 struct list *creat( )什么意思???

如题所述

create是创建链表函数的函数名,struct list *表示函数创建一个链表之后返回一个指针,这个指针是指向一个结构体类型。
那么,为什么要返回一个指向结构体的指针呢?
首先,链表的每个结点的类型是由数值域和指针域两部分构成的结构体,当然,数值域可以是简单的基本数据类型,也可以是很复杂的构造类型。也就是说,每个结点是一个结构体,该结构体的指针是指向下一个类型与自己是一样的结构体。因此,结构体的指针域中的指针需要是一个结构体类型的指针。
其次,对链表的操作时,我们需要获取整个链表的数据,那么需要哪些参数才能确定一个完整的链表呢?链表首地址!
第三,由第二段,我们知道,利用链表首地址即可确定整个链表。我需要明确的获取到某个链表的首地址,以便在随后的操作(如计算、输出、排序等)中操作链表。
强调几点点:
1、其实链表和数组本质上是一样的,都是利用一些存储单元存储数据,但是数组是一片连续的空间,但链表不是的。
2、对数组的操作,不仅需要数组的首地址(数组名)还需要数组元素的个数才可,也就是说,确定一个数组需要两个参数:数组首地址和数组元素个数。追问

creat后面为什么是空括号??

追答

无参数函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-04
~~~~返回值为节点指针·~
也就是函数中定义
struct list *head;
中间动态申请内存·~~~
最后return head;追问

creat后面为什么是空括号?

相似回答