结构体中的LNode与*LinkList
关于链表结点结构体
在学习单链表时,对单链表中结点类型的描述通常是用结构体来完成的
typedef struct LNode{ int data; //数据域 struct LNode *next; //指针域 }LNode,*LinkList;
对于这个结构体来说,LNode和*LinkList其实都是结构体struct LNode的别名,只不过类型不同。
- LNode是一个普通的结构体名,相当于将结构体类型struct LNode重命名为LNode;
- *LinkList是一个指针类型,相当于将struct LNode * 重命名为LinkList。
总结
也就是说,LinkList L; 等价于 struct LNode *L;
当我们在使用LinkList L定义变量时,实际上就是在使用struct LNode *L定义变量。那我们以后想要定义指向struct LNode类型的指针变量时,不需要写struct LNode *,只需要使用LinkList,减少了代码的书写。