结构体
1. 结构体
1.1 为什么需要结构体?
为了表示一些复杂的事物,而普通的基本类型无法瞒住实际要求。
1.2 什么叫结构体?
把一些基本数据类型组合在一起形成的一个新的符合数据类型,这就叫做结构体。
1.3 如何定义结构体?
//第一种
struct Student
{
int id;
int age;
char sex;
};
//第二种
struct Student
{
int id;
int age;
char sex;
} linjunjie;
//第三种
struct
{
int id;
int age;
char sex;
} linjunjie;
第二种和第三种在定义结构体的时候直接定义变量 “林俊杰” ,而第三种只能使用一次,不能在继续创建变量,所以推荐定义结构体的时候使用第一种方式,不推荐第二种和第三种。
1.4 怎样使用结构体变量?
1.4.1 赋值和初始化
#include<stdio.h>
struct Student
{
int id;
int age;
char sex;
};
int main(void)
{
Student gm = {12,15,'b'};//定义直接赋值
Student jj;//先定义变量然后单个赋值
jj.age = 12;
jj.id = 29;
jj.sex = 'g';
return 0;
}
1.4.2 取出结构体中的值
- 结构体变量名.成员名
- 指针变量名->成员名
1.4.3 结构体变量的运算
结构体变量不能相加、相减、相乘和相除,但是可以相互赋值。
1.4.4 链表
详见之后的数据结构
2. 枚举
2.1 什么事枚举?
枚举就是把一个事物所有的可能一一列举出来,比如一周有七天,周一、周二、周三、周四、周五、周六和周日。
2.2 怎样使用枚举?
#include<stdio.h>
enum WeekDay
{
MonDay = 1,TuesDay,WendesDay,
ThursDay,FriDay,SaturDay,
SunDay
}; //定义枚举,每个内容默认从零开始增加,如果对第一个赋值就从赋的值开始增加。
int main(void)
{
WeekDay day = SunDay;// 枚举变量的值必须是枚举内有的
printf("%d",day);
return 0;
}
因为枚举很麻烦,所以很少使用。
2.3 枚举的优缺点
- 优点:代码更安全
- 缺点:书写太麻烦