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这样的表示方式;
注意结构体的初始化也是使用大括号,对应每个变量
编译运行
直接输入就可以了。
运行输出如下:
正文结束
希望今天的你胜过昨天的你
领取专属 10元无门槛券
私享最新 技术干货