1.使用枚举创建1个新的数据类型来达到限定取值.;
语法格式:
enum 新类型名称
{限定取值1,限定取值2,限定取值3,....};
enum Direction
{East,South,west,North};
表示新创建了1个数据类型 这个数据类型的名称叫做enum Direction可以声明这个类型的变量。这个变量中就只能存储这其中指定的任意1个。
2.声明枚举类型的变量.
1),语法格式:
enum 枚举类型名称 变量名;
enum Direction dir;
表示声明了1个变量变量的名字叫做dir 变量的类型叫做 enum Direction
这个变量的特点:只能存储这个枚举类型限定的取值之一
2),枚举变量的初始化
只能为这个枚举变量赋 枚举类型 限定的 取值之
enum Direction dir=East;
3)使用技巧
如果你有1个变量的取值.只能是取指定几个中的1个,别的不能取那么这个时候,就可以使用枚举.
3.枚举对应的整型的数
1),枚举的作用域
如果将枚举类型定义在函数的内部。那么这个类型就只能在这个函数的内部使用如果你希望将这个枚举的类型给所有的函数使用,那么就将这个枚举类型定义在函数的外面最顶部,
2).每1个枚举值/枚举项 都有1个对应的整型的数默认从0开始,依次的递增。
无论是什么类型的枚举变量,都是占据4个字节枚举变量中真正存储的是 枚举值所对应的整型的数
所以,我们才可以使用%d输出枚举变量中的值如果你就要打印枚举值 你就只有自己写判断
所以,我们也可以直接为枚举变量赋值1个整型的数据。
这样意义
虽然我们可以给1个整数,但是我们并不会这么做。因为给整数的话 代码的可读性就会很差给枚举值.可读性就会变的很高,
默认情况下,每1个枚举值对应的整型的数从0开始 依次递增但是我们还可以手动的指定每1个枚举值代表的整型的数
4.使用枚举的一些规范
枚举类型的名称命名规范: 首字母大写,每1个单词的首字母大写枚举值的命名规范: 枚举值的名称都以枚举类型来开头
#include<stdio.h>
int main()
{
enum fangXiang
{
fangXiangEast,
fangXiangSouth,
fangXiangwest,
fangXiangNorth
};
enum fangXiang arr =fangXiangwest;
printf("%d", arr);
return 0;
}
4.typedef类型定义
typedef----> type define 类型定义
作用: 为一个已经存在的数据类型取1个别名如果我们想要使用这个类型,直接使用这个别名就可以了
语法格式:
typedef 已经存在的数据类型 别名;
typedef int itheima;
为int数据类型取了1个别名,叫做itheima如果我们要使用int类型,就可以直接使用itheima
这个时候 itheima 完全等价于 int因为itheima是int的1个别名
typedef char* string;将char* 类型取1个别名.叫做string
所以,就可以使用string代替char*
size_t 其实就是 unsigned long。
5.使用typedef为结构体类型取别名
1),先声明结构体类型然后在使用typedef为这个结构体类型取1个短别名
struct Student
{char *name;
int age;
int score;}
typedef struct Studenk Student;
2),声明结构体类型的同时,就使用typedef来为结构体类型取1个短别名
typedef struct Student
{char *name;
int age;
int score;] Student;
3)。声明匿名结构体的同时,就使用typedef来为结构体类型取1个短别名
typedef struct
{int age;
int score}Student;
6.使用typedef为枚举类型取1个短别名
1),先声明枚举类型,然后再使用typedef来为枚举类型取1个短别名
enum Direction
{DirectionEast,
DirectionSouth,
DirectionWest,
DirectionNorth};
typedef enum Direction Direction;
2),声明枚举类型的同时,就使用typedef来为枚举体类型取1个短别
typedef enum Direction
{DirectionEast,
DirectionSouth,
Directionwest,
DirectionNorth}
Direction;
3),使用上面这种方式的时候,枚举的名称就没有必要写了
typedef enum
{DirectionEast,
DirectionSouth,
DirectionWest,
DirectionNorth}
Direction;
标签:typedef,int,enum,Direction,枚举,类型 From: https://blog.51cto.com/u_15809685/5831055