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

C语言 结构体

一、结构体的概念

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

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

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

1、结构体的定义形式
请添加图片描述
如:
C语言 结构体、结构体变量与typedef的使用_第1张图片

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

3、结构体变量的定义还能在定义结构体时同时定义
请添加图片描述
如:
C语言 结构体、结构体变量与typedef的使用_第2张图片

4、对于无名结构体(结构体没有名字),结构体变量只能和结构体同时定义,之后也不能再用该结构体类型去定义变量
请添加图片描述
如:
C语言 结构体、结构体变量与typedef的使用_第3张图片

三、结构体变量的赋值

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

2、可以在定义结构体和结构体变量时整体赋值
C语言 结构体、结构体变量与typedef的使用_第4张图片
3、可以在定义结构体变量后,对成员逐一赋值。
获取结构体成员的一般格式为: 结构体变量名.成员名
C语言 结构体、结构体变量与typedef的使用_第5张图片

四、typedef的使用

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

2、使用typedef为结构体类型取别名
请添加图片描述
如:
C语言 结构体、结构体变量与typedef的使用_第6张图片

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

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

你可能感兴趣的:(C语言,c语言,c++,数据结构)