创建一个链表实例

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

时间: 2024-11-06 09:29:12

创建一个链表实例的相关文章

在OpenStack环境中创建一个VM实例

在OpenStack平台上创建一个VM实例,在OpenStack组件间一般会经历以下过程: 以某个有创建VM权限的账户登录到OpenStack环境(Web环境或者命令行环境):账户发起创建VM的请求,Keystone认证通过后发给该账户token:账户凭token调用nova-api创建VM:nova-api将账户户要创建的VM资源信息发给nova-scheduler,由nova-scheduler调度VM承载机器:承载机器上的nova-compute从nova-conductor处获得flav

vue.js开发环境搭建以及创建一个vue实例

Vue.js 是一套构建用户界面的渐进式框架.Vue 只关注视图层, 采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 在使用 vue.js 之前首先需要搭建 vue.js 的开发环境,下面,我们就来一步一步的搭建 vue.js 的环境: 1.首先,我们需要安装 node.js: 安装 node.js 请参考  node.js安装配置 ,可以打开命令行,输入 node -v,如果输出版本号,说明我们安装 node 环境成功,输入 npm

1.创建一个链表并输出

创建链表 #include <iostream> #include <ostream> using std::ostream; class myList { public: myList(){} myList(int v_data) { data = v_data; } void setNextValue(myList* nextValue) { next = nextValue; } friend ostream& operator <<(ostream &a

easyUi 页面创建一个toolbar实例

1.定义toolbar方法 pagination : true, pageSize : 10, pageList : [ 5, 10, 15, 20, 50 ], toolbar : toolbarFtt() 2.定义新增方法 function toolbarFtt() { if (top.checkRole([ 'LOCK_FORFEITRUE' ])) { return [ { text : '缴纳保证金', iconCls : 'icon-add', handler : gridAdd }

MonkeyRunner创建一个Note的实例

之前的系列给出了Appium,Robotium,Instrumentation和UIAutomator创建一个Note实例的例子: <Appium创建一个Note的实例> <Robotium创建一个Note的实例> <UIAutomator创建一个Note的实例> <SDK Instrumentation创建一个Note的实例> 那么用MonkeyRunner又是如何实现这些功能的呢?今天花了点时间学习了下MonkeyRunner的基本API然后尝试实现了该

通过一个WPF实例进一步理解委托和事件

在前写过"浅谈C#中的委托"和"浅谈C#中的事件"两篇博客,内容有些抽象,似乎难以说明委托和事件的关系. 今天通过一个小程序来进一步说明二者的使用及联系. 首先新建一个WPF应用程序,取名TestDelegateAndEvent. 在.xmal中加入四个按钮,并添加Window_Loaded事件. 代码如下: <Window x:Class="TestDelegateAndEvent.MainWindow" xmlns="http

《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型 (转)

第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以跳过本章. 本章将带你漫游使用实体框架建模的基本实例,建模是实体框架的核心特性,同时也是区别实体框架和微软早期的数据访问平台的特性.一旦建好模,你就可以面向模型编写代码,而不用面向关系数据库中的行和列. 本章以创建一个简单概念模型的实例开始,然后让实体框架创建底层的数据库,剩下的实例,将向你展示,如

如何交互式地创建一个Docker镜像

今天我们来学习如何使用一个docker镜像交互式地创建一个Docker镜像.当我们从镜像中启动一个Docker进程,Docker就会获取该镜像及其父镜像,并重复这个过程,直到到达基础镜像.然后联合文件系统(UFS)会在其顶层添加一个读写层.读写层被称之为容器,它包含了一些关于父镜像信息及一些其他的信息,如唯一ID,网络配置和资源限制等.容器是有状态的,其状态可以从 运行态 切换到 退出态.一个处于 运行态的容器包含了在CPU上面运行的进程树,于其它在该主机上运行的进程相隔离,而退出态是指文件系统

【实战】在BingoCloudOS中创建一个blog环境

本文通过实战方式了解下在品高云(BingoCloudOS)中如何快速部署一个wordpress的blog站点(包括web和数据库) 涉及服务:弹性服务器(EC2) 涉及版本:所有版本 涉及功能点:镜像.密钥.远程连接.安全组.存储卷.wordpress下载与安装 1.创建实例前的准备 1.1.准备镜像 系统镜像由云平台管理员在进行云平台初始化时准备,普通用户直接使用即可,用户对于需要的镜像可在[基础服务→计算→镜像]的搜索内容框中对镜像进行搜索,若云平台中暂无您需要的镜像时可向管理员申请,或基于