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这个我真看不出看什么意思
这是我自己理解的,不知道对不对
你理解是对的,我给你画一下流程:
画的比较粗糙,字比较丑,凑合看看吧。
多谢多谢,懂了懂了