c语言学习----枚举
#include<stdio.h> #include<stdlib.h> #define FIRST 1 #define SECONED 2 #define THIRD 3 int main (void) { printf("%d, %d , %d\n",FIRST , SECONED, THIRD); } 1,2,3
上面是一次定义了三个常量, 枚举可以简单的理解为把常量放在一起初始化。
#include<stdio.h> #include<stdlib.h> enum ab {first , seconed , third}; // 枚举的初始化, 开始的时候如果没有赋值的话, 就默认的是从0开始 int main (void) { printf("%d, %d , %d\n",first , seconed, third);// 0,1,2 } 0, 1 , 2
#include<stdio.h> #include<stdlib.h> enum ab {first=1 , seconed , third}; // 枚举的初始化, 开始的时候如果没有赋值的话, 就默认的是从0开始 int main (void) { printf("%d, %d , %d\n",first , seconed, third); } 1,2,3
#include<stdio.h> #include<stdlib.h> enum ab {first , seconed=3 , third}; // 枚举的初始化, 开始的时候如果没有赋值的话, 就默认的是从0开始 int main (void) { printf("%d, %d , %d\n",first , seconed, third); } 0,3,4
枚举变量
#include<stdio.h> #include<stdlib.h> enum ab {F=10,S,T}; int main (void) { enum ab e1 = F;//可以定义一个枚举变量e1,但是e1只能定义枚举里面的一个常量,比喻说这里只能是F/S/T printf("%d",e1); }
10
枚举实现bool类型
#include<stdio.h> #include<stdlib.h> //用枚举实现bool类型 enum BOOL {f, t}; int main (void) { printf("%d\n",f); printf("%d",t); }
#include<stdio.h> #include<stdlib.h> //用枚举实现bool类型 enum BOOL {false, true}; typedef enum BOOL bool; int main (void) { bool a; //定义一个bool 变量a a = false;//a的复制只能是enum BOOL里面的false , true printf("the false is %d ",a); } the false is 0