单链表的结点问题

typedef struct student{
int score;
struct student *next;
} LinkList;
LinkList *creat(int n) {
LinkList *head, *node, *end;//定义头节点,普通节点,尾部节点;
head = (LinkList*)malloc(sizeof(LinkList));//分配地址
end = head;         //若是空链表则头尾节点一样
for (int i = 0; i < n; i++) {
node = (LinkList*)malloc(sizeof(LinkList));
scanf("%d", &node->score);
end->next = node;
end = node;
}
end->next = NULL;//结束创建
return head;
}

能解释一下for循环里面到底是在干嘛吗?这个end->next = node,是把上一个节点的地址给到end吗?end = node这个我真看不出看什么意思

这是我自己理解的,不知道对不对

回答

你理解是对的,我给你画一下流程:

画的比较粗糙,字比较丑,凑合看看吧。

以上是单链表的结点问题的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>