码迷,mamicode.com
首页 > 其他好文 > 详细

创建一个链表实例

时间:2017-06-09 15:17:50      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:list   obj   can   scan   head   fine   inpu   top   post   

<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、把正确的信息拷贝到这个结构中


创建一个链表实例

标签:list   obj   can   scan   head   fine   inpu   top   post   

原文地址:http://www.cnblogs.com/tlnshuju/p/6971751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!