c语言链表小问题??? 5C

图片说明
*LinkedList是什么东西
LinkedList 后面加LinkedListCreatH()构成了什么
L是头结点吗

7个回答

还有问一下那个typedef struct Node{}Node;所有后面的Node*L中的Node指的是是大括号前面的还是后面的的那个Node

a5882230
tw 大括号后面那个
大约 2 年之前 回复
phenix2009
白色一大坨 后面的,因为typedef 表示起别名
大约 2 年之前 回复

Part 1

**LinkedList*和前面的Node一样,只是这个结构体的别名,表示一个数据类型而已.
二者差别如下:

//  Node 相当于struct Node
// 所以, a的类型是struct Node
Node a

// *LinkedList相当于struct Node, 即LinkedList相当于struct Node *
//  所以,b的类型是struct Node *
//  所以,*b 的类型是 struct Node
LinkedList b;

Part 2

这个链表设计时,所谓的初始化语义定义为建立一个节点,却不写入数据,可能是想设计为包含一个空白头节点的链表.
示意图如下:

 --------
 |      |   <-- L
 | next |
 --------

     |
     V

 --------
 | data |
 | next |
 --------

     |
     V

 --------
 | data |
 | next |
 --------

*LinkedList是什么东西
typedef struct A
{
}B, *P.
这其中:A表示标识类型,我们一般不用他。 B表示变量类型,P也表示变量类型只不过是指针形式的。
B node 等价于 struct A node。定义了一个结构体变量,名称为node.
P node 等价于 struct A * node。 定义了一个结构体指针变量,指针指向的类型为struct A, 名称为node.

LinkedList 后面加LinkedListCreatH()构成了什么
没什么呀,按照上面说的就是说LinkedListCreatH返回类型为 Node * 呀。

L是头结点吗
L是链表中的节点呀,是不是头结点要看时机呀。

*LinkedList 是指向数据结构的指针,用来建立结点
LinkedList 后面加LinkedListCreatH() 是返回值为指针类型的函数
L 是头结点,后面指向为空的一个结点

LinkedList a;
Node *a;

上面两者等同。
LinkedList LinkedListCreatH()表示这是一个函数,返回LinkedList;

LinkedList是struct Node的结构指针类型定义,而Node是struct Node的结构类型定义. 定义指针变量如下都是等价的: LinkedList a; Node *a; struct Node *a;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问