首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用C语言来描述一个学生嘞?

Morning 狮子座流星

影像来源: Stephane Vetter

我们编程吧 之 Linux/C/Python/Vim/Git,从小白到高手的进阶之路。

-- LetsProgramming

配合音乐欣赏,效果更佳^_^

正文开始

C语言的结构体

OK,这次我们来聊聊结构体。

任务来了,我想让你给学生建立一个数据库,该怎么来做。

这个学生包含的信息如下:

ID:也就是学号,唯一区别码,用整型表示

Name:姓名,用字符串表示

Age:年龄,用整型表示

Sex:性别,用字符串表示

按照目前学过的知识我们的代码如下,比如先来一个李雷同学的吧:

好,刚开学没几天,来了另外一个同学,韩梅梅,从此浪漫的爱情,不,英语学习开始,我们把数据库更新一下:

发现了什么问题,是不是跟自定义函数类似,代码是简单,不过大部分都是重复的工作,没有显示度,没有创新。

如何办,C语言提供了一个结构体,允许用户自己建立由不同类型数据组成的组合型的数据结构,注意是不同类型不同类型

重要的事情说三遍。

先看一下结构体的声明吧,看看是何方神圣:

具体是个什么含义:

struct:是结构体的声明类型

tag:是这个结构体的标记;

member:就是结构体的内容

list:是变量的列表

来个实例化吧,比如学生的定义就可以写成如下:

从这个代码可以看出,结构体的tag首字母一般大写,结构体的内容类型不一样,结构体有个列表叫做student。

下面我们使用结构体来重构代码如下:

有没有感觉,神清气爽,两袖清风,原来8行的代码,2行搞定,也就多了一个结构体的定义,在学生数以万计的时候,代码量减少了四分之三,这是在只有4个参数的情况下,参数越多越给力。

有几点说明:

注意结构体的定义,有大括号,有分号

注意结构体的初始化,需要使用struct Student s1这样的表示方式;

注意结构体的初始化也是使用大括号,对应每个变量

编译运行

直接输入就可以了。

运行输出如下:

正文结束

希望今天的你胜过昨天的你

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181204G1P0FN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券