自定义类型包括结构体、枚举、联合等,本文着重讲解结构体。
我们知道变量类型有整型、字符型、浮点型等,但是在生活中,我们不局限于这几种类型,比如描述:人、书,树等。这些都不能用以前单一的类型来呈现。所以我们就有了自定义类型。首先,我们来看结构体。
1 结构体
1.1 介绍
结构体是一些值的集合,这些值称为成员变量。结体构的每个成员可以是不同类型的变量。
1.2 声明
例如:
假设定义一个学生类型
//定义结构体类型
struct Stu
{
//成员变量
char name[20];//名字
int age;//年龄
char sex[5];//性别
char id[20];//学号
}; //分号不能丢
1.3 变量的定义
我们已经介绍了如何创建一个结构体,那么如何使用呢?下面来看:
说,创建结构体变量,可以这样创建(这里我们使用上面创建好的结构体):
int main()
{
//创建结构体变量
struct Stu s1;
struct Stu s2;
return 0;
}
也可以:
//定义结构体类型
struct Stu
{
//成员变量
char name[20];
int age;
char sex[5];
char id[20];
}s3,s4;// 结构体变量
这两种创建方式在于前面的是局部变量,后面的是全局变量。
1.4 特殊的声明
在声明结构体的时候,可以不完全的声明。
比如:
//匿名结构体
struct
{
int a;
char c;
}s1;//匿名结构体变量只能在这后面定义。
因为是匿名结构体,省略掉了类型名,所以无法在其余位置定义变量,只能在这后面定义。
我们现在看,这两种代码: