#include
#include
1.枚举(enum) : 类似于#define宏定义
enum Hero{ Guanyu = 45, Zhangfei = 23, Liubei , Caocao , Sunqun = 110 };//可放在主函数内,即main 函数内
可以给部分枚举赋值,也可以不给值
全部不给值默认从0开始
enum Color{red,green,blue};//没有赋值,默认从0开始
如果前面的标识符已赋值,后面的标识符的值一次类推。例:green=131, 则blue=132.
/*
#define LOGIN 0X1000
#define ONLINE 0X1001
#define OFFLINE 0X1002
#define LOGOUT 0X1003
*/
enum{ LOGIN = 0X1000, ONLINE = 0X1001, OFFLINE = 0X1002, LOGOUT= 0X1003 };
void main()
{
/*
enum 类型名{标识符1,标识符2};
标识符 :对应的是一个整数值,整型常量(枚举常量)
默认 第一个对应数组是 0
enum Hero{zhangsan,lisi=5,wangwu,zhaoliu=2,xiaoqi,xiaoba};
zhangsan,lisi=5,wangwu,zhaoliu=2,xiaoqi,xiaoba :只能是整型值,不能是其他值。
如果不给花括号里面的标识符赋值,默认从 0 开始 :zhangsan(0),lisi(1),wangwu(2),zhaoliu(3),xiaoqi(4),xiaoba (5)
enum Hero p=zhaoliu;
可以不指定类型名称:
enum {RED,GREEN,BLUE}
可以花括号后面定义变量: 花括号定义的不能重复
enum {RED,GREEN,BLUE}color1,color2;
color1=RED;
coloe2=GREEN;
不能重复!
*/
enum Hero{Guanyu=45,Zhangfei=23,Liubei=89,Caocao=21,Sunqun=110};
enum Hero hero = Zhangfei;//定义一个枚举hero
printf("hero=%d\n", hero);
enum Color{red,green,blue};
enum Color color = red;//也可以像下面的定义
enum Color{ red, green, blue }color = red;
printf("color=%d\n", color);//0
enum{ LOGIN = 0X1000, ONLINE = 0X1001, OFFLINE = 0X1002, LOGOUT= 0X1003 };
/*printf("%d\n", LOGIN);
}*/
2.结构体
关键字:struct
/*
结构体是一种构造类型,它是由多个成员组成,其中每个成员可以是基本数据类型或者也可以是构造类型
例:
人