单链表的表头定义的想法

三世轮回 提交于 2020-01-18 03:06:16

1.对于typedef的思考:

typedef struct node{
    struct node *next;
    int data;
}Node,*Linklist;

上面这样是可以定义链表,但是要明白那两个node/Node的区别。

小写的node是struct本身的名字,递归时需要用到的,下面的Node是typedef的作用,便于我们在对对链表操作定义节点时候区分开的。函数中定义节点两个node/Node都能用,但一般用Node这种。

Node *q=(Linklist)malloc(sizeof(Node));
    q=L->next;

node *q=(Linklist)malloc(sizeof(node));
    q=L->next;

两者都可以。

2.Node * 和Linklist有相同的作用,但是前者定义链表中的节点多,后者表示链表的首元节点多。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!