<span style="font-family:KaiTi_GB2312;font-size:18px;">#include <stdio.h>
#include <stdlib.h> /* 提供malloc()原型 */
#include <string.h> //提供strcpy原型
#define TSIZE 45
struct film
{
char title[TSIZE];
int rating;
struct film * next; //指向链表的下一个结构
};
int main(void)
{
struct film * head = NULL;
struct film * prev, * current;
char input[TSIZE];
//收集并存储信息
puts("Enter first movie title:");
while(gets(input) != NULL && input[0] != '\0')
{
current = (struct film *)malloc(sizeof(struct film));
if(head == NULL)
head = current;
else
prev->next = current;
strcpy(current->title,input);
puts("enter your rating<0-10>:");
scanf("%d",¤t->rating);
while(getchar()!='\n')
continue;
puts("Enter next movie title(empty line to stop):");
prev = current;
}
if(head == NULL)
{
printf("no data entered!");
}
else
printf("Here is the movie list:\n");
current = head;
while(current != NULL)
{
printf("Movie :%s Rating : %d\n",current->title,current->rating);
current = current->next;
}
printf("Bye!!\n");
return 0;
}
</span><span style="font-family:KaiTi_GB2312;font-size:18px;"> </span>
创建链表包括三个步骤:
1、使用malloc()函数为一个结构分配足够的空间
2、存储这个结构的地址
3、把正确的信息复制到这个结构中
原文地址:http://blog.csdn.net/u011046042/article/details/41960649