【发布时间】:2016-03-13 23:58:53
【问题描述】:
我试图通过图表来理解链表的语法。但是我越来越困惑。此代码打印出 0-9。注释的部分看不懂,请直观说明。
#include <stdio.h>
#include <stdlib.h>
struct node
{
int item;
struct node* link;
};
int main()
{
struct node *start,*list;
int i;
start = (struct node *)malloc(sizeof(struct node)); //???????
list = start; // ????????
start->link = NULL; // ??????????
for(i=0;i<10;i++)
{
list->item = i;
list->link = (struct node *)malloc(sizeof(struct node));
list = list->link;
}
list->link = NULL; //????????????
while(start != NULL) //??????????????
{
printf("%d\n",start->item);
start = start->link;
}
return 0;
}
【问题讨论】:
-
请阅读算法和数据结构书籍或只是搜索网络。有很多资源可以解释链接列表,包括视觉。
-
我了解链表,并且阅读了很多关于链表的资源,但是每个链接似乎使用不同的语法来解释,所以剩下的就是我开始时感到更加困惑。
标签: c linked-list