C语言 结构体、结构体变量与typedef的使用

C语言 结构体

一、结构体的概念

数组只能构造具有相同类型的数据,而在实际应用中我们常常还需要一种类型不同的数据,如学生信息表,姓名为字符串,年龄为整数,成绩为小数等,虽然数据类型不同,但都是学生的信息数据,所以我们将这些数据存放在一起会更方便。在C语言中,可以使用结构体来存放一组不同类型的数据。

二、结构体与结构体变量的定义

结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员,结构体的声明是使用struct关键字。

1、结构体的定义形式
请添加图片描述
如:
请添加图片描述

2、结构体变量的一般定义形式
请添加图片描述
如:
请添加图片描述

3、结构体变量的定义还能在定义结构体时同时定义
请添加图片描述
如:
请添加图片描述

4、对于无名结构体(结构体没有名字),结构体变量只能和结构体同时定义,之后也不能再用该结构体类型去定义变量
请添加图片描述
如:
请添加图片描述

三、结构体变量的赋值

对于结构体变量的赋值
1、可以在一般形式定义结构体变量时赋值
请添加图片描述

2、可以在定义结构体和结构体变量时整体赋值
请添加图片描述
3、可以在定义结构体变量后,对成员逐一赋值。
获取结构体成员的一般格式为: 结构体变量名.成员名
请添加图片描述

四、typedef的使用

1、使用关键字typedef可以为类型取一个新的别名
如:
请添加图片描述

2、使用typedef为结构体类型取别名
请添加图片描述
如:
请添加图片描述

在定义结构体时使用typedef的话,可以在创建别名的同时不给结构体命名
请添加图片描述

3、如果使用typedef对结构体类型取别名,就无法在定义结构体的同时定义结构体变量。但在定义结构体时使用typedef的话,后面定义结构体变量就可以直接用别名定义变量:别名 变量名
相比于没有别名时变量的定义: struct 结构体名 变量名
更加简练
如:
请添加图片描述

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值