c语言结构体排序_c语言 第二十章 结构体

在程序当中,我们需要处理的数据,有的时候往往不会是整数,浮点数,字符这样的简单数据

比如说:我们需要设计一个系统,处理学生的信息,那么在这个系统当中,学生的信息是由一系列相关信息构成的一组数据,很难用一个简单的数据构成

59ee07fc9bfa7a4d5c0ddd9041b3f9a0.png

处理这样的由一系列类型不同的数据的组合就需要用到结构体

1 结构体的声明

struct 

创建了一个结构体,就相当于创建了一个新的数据类型,比如说为了保存一个学生的数据,我们就可以创建一个学生类型的结构体

#include

定义好结构体之后就可以创建这个结构体类型的变量

#include
struct 结构体名 变量;

这里的stu1,stu2就是结构体student类型的变量,stu1和stu2具有和结构体相同的结构

我们可以通过 结构体变量.成员 的方式来给结构体的成员赋值

#include

9ef93842b4700f0287e85fc2e1091d80.png

最后输出两个结构体变量的值

#include

16c133a7d52614008b8cdf1210e64d10.png

2 其他创建结构体的方式

如果不希望结构体被重复的使用,可以省略结构体名,直接在创建结构体的时候就建立结构体变量,但是这样就无法在建立新的结构体变变量了

//创建结构体并声明结构体变量

这里省略了结构体名student,所以以后就无法使用 struct student <新变量>来创建结构体,只能使用已经创建的stu1和stu2

我们也可以和数组一样,在建立结构体的同时为结构体变量初始化

#include

64c5e881c066834205c454d8eb2c8ab7.png

3 typedef关键字的使用

typedef关键字用来给c语言当中的类型定义一个别名,假如我们觉得类型的定义过于复杂,可以使用typedef来简化我们使用的类型说明符

比如建立数组

int a[3]  //长度为3的整数数组

我们就可以这样写

#include

这里的arrayof3就是我们定义的一个类型,表示三个元素的数组,可以直接使用arrayof3来作为类型说明符

同样的

#include

这里的 fun 代表了一个函数指针类型, f1就表示一个函数指针变量

typedef 也可以用来定义结构体,这样在建立结构体变量的时候就可以省略struct关键字

#include

这里使用typedef把结构体 student 定义为类型 Student,之后就可以使用Student来创建结构体变量

在使用typedef的时候可以省略结构体名,因为类型名已经可以取代结构体名用来创建新变量了

int 

4 结构体函数

结构体包含的数据比较多,如果每次都需要逐个操作的话重复的代码会比较繁琐,所以我们会使用函数来减少重复的代码

结构体可以作为函数的参数和返回值

#include

如果使用typedef还可以简化代码

#include

01ce7da7cdc31f2c17c4f335055b0abc.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值