自定义数据类型

就是自己又创造了一种数据类型
1.结构体类型
声明: 声明在前,使用在后。
struct 结构体名 struct 结构体名是类似int, char的数据类型名,可以用来定义一个新的变量,
{ 声明一个结构体类型只是创造了一种数据类型,系统不为其分配存储单元,为了能够
成员列表 在程序中使用结构体类型的数据,要定义实体。
};
定义:
先声明再定义: struct 结构体名 变量名;
声明的同时定义:}变量名;
不指定结构体名直接定义变量名,此时只能声明的同时定义。
注意 不只是变量名,是变量名列表。
结构体类型的储存空间是成员列表存储空间之和。
初始化:
struct 结构体名 变量名={" "," "}
变量名.成员名= 。 引用也是这样表示。
如果成员本身也是一个结构体类型,就逐层引用。
结构体数组
就是定义时,把结构体定义为一个数组。就是初始化和引用时最前面的是数组元素。
公用体类型 根据不同的应用环境表示不同类型的数据
声明:
union 共用体名
{
成员列表;
};
定义与结构体一样
初始化:
只有最后一个存入的数据有效。
不能对共用体变量赋值,不能通过变量名一次对全部成员赋值。
引用:
不能引用共用体变量。
不能通过共用体变量一次引用全部成员。
不能同时引用共用体变量的多个成员。
使用;
与if语句结合使用。
枚举类型 每一个变量只能有几种可能的取值。
c语言将枚举元素做符号常量处理,第一个是0,之后一次加1。
声明与初始化与之前的一样。
初始化:
枚举变量名指的是成员列表中的元素,至于是那个元素,要具体去初始化。
引用:
利用代表的数字通过算数运算来进行一一引用。
用typedef声明新类型
过程:
按定义变量的方法写出定义体 int a;
将变量名a替换成新的类型名 count, int count;
在最前面添加关键字typedef,typedef int count;
使用新类型名定义变量,count i;