苏州建站,如何建设百度网站,江苏建设工程有限公司简介,网站竞价推广哪个好✅作者简介#xff1a;大家好#xff0c;我是橘橙黄又青#xff0c;一个想要与大家共同进步的男人#x1f609;#x1f609;
#x1f34e;个人主页#xff1a;橘橙黄又青-CSDN博客 1.关键字enum的定义
enum是C语言中的一个关键字#xff0c;enum叫枚举数据类型#… ✅作者简介大家好我是橘橙黄又青一个想要与大家共同进步的男人
个人主页橘橙黄又青-CSDN博客 1.关键字enum的定义
enum是C语言中的一个关键字enum叫枚举数据类型枚举数据类型描述的是一组整型值的集合这句话其实不太妥当枚举型是预处理指令#define的替代枚举和宏其实非常类似宏在预处理阶段将名字替换成对应的值枚举在编译阶段将名字替换成对应的值。 ⽐如我们现实⽣活中 ⼀周的星期⼀到星期⽇是有限的7天可以⼀⼀列举 案例1 如果用#define #defineMON 1
#defineTUE 2
#defineWED 3
#defineTHU 4
#defineFRI 5
#defineSAT 6
#defineSUN 7个看起来代码量就比较多接下来我们看看使用枚举的方式. 格式 enum Day//星期
{//枚举常量一旦定义不可以改Mon 1,Tues,Wed,Thur,Fri,Sat,Sun
}day;
//day枚举变量也可以在函数内部创建枚举变量如
//enum Day s 9
//枚举变量的值可以修改 在这里补充一个点 第一个枚举成员的默认值为整型的0后续枚举成员的值在前一个成员上加1。在当前值没有赋值的情况下枚举类型的当前值总是前一个值1.
案例2
#includestdio.henum S {Mon 1,Tues,Wed,Thur,Fri,Sat,Sun
}s;
int main()
{printf(%d %d %d %d %d %d %d, Mon, Tues, Wed, Thur, Fri, Sat, Sun);return 0;
}
输出结果 当然里面的值改了也一样 #includestdio.henum S {Mon 1,Tues,Wed,Thur 26,Fri,Sat,Sun
}s;
int main()
{printf(%d %d %d %d %d %d %d, Mon, Tues, Wed, Thur, Fri, Sat, Sun);return 0;
}
输出结果 2.注意事项
1) 枚举列表中的 Mon、Tues、Wed 这些标识符的作用范围是全局的严格来说是 main() 函数内部不能再定义与它们名字相同的变量。
2) Mon、Tues、Wed 等都是常量不能对它们赋值只能将它们的值赋给其他的变量。
枚举和宏其实非常类似宏在预处理阶段将名字替换成对应的值枚举在编译阶段将名字替换成对应的值。我们可以将枚举理解为编译阶段的宏。
第二点 3.枚举总结
(1) 枚举型是一个集合集合中的元素(枚举成员)是一些命名的整型常量元素之间用逗号,隔开。
(2)DAY是一个标识符可以看成这个集合的名字是一个可选项即是可有可无的项。
(3) 第一个枚举成员的默认值为整型的0后续枚举成员的值在前一个成员上加1。在当前值没有赋值的情况下枚举类型的当前值总是前一个值1.
(4) 可以人为设定枚举成员的值从而自定义某个范围内的整数。
(5) 枚举型是预处理指令#define的替代。
(6) 类型定义以分号;结束。
4.枚举类型大小
#include stdio.henum escapes
{BELL \a,BACKSPACE \b,HTAB \t,RETURN \r,NEWLINE \n,VTAB \v,SPACE
};
enum BOOLEAN { FALSE 0, TRUE } match_flag;
void main()
{printf(%d bytes \n, sizeof(enum escapes); //4 bytesprintf(%d bytes \n, sizeof(enum BOOLEAN)); //4 bytesprintf(%d bytes \n, sizeof(match_flag)); //4 bytesprintf(%d bytes \n, sizeof(SPACE)); //4 bytesprintf(%d bytes \n, sizeof(NEWLINE)); //4 bytesprintf(%d bytes \n, sizeof(FALSE)); //4 bytesprintf(%d bytes \n, sizeof(0)); //4 bytes
}
输出结果 所以说枚举类型里面的枚举常量都是int类型
5.使用枚举类型的变量
1对枚举型的变量赋值
案例1
#includestdio.h
/* 定义枚举类型 */
enum DAY { MON1, TUE, WED, THU, FRI, SAT, SUN };
void main()
{
/* 使用枚举类型声明变量再对枚举型变量赋值 */
enum DAY yesterday, today, tomorrow;yesterday MON;
today TUE;
tomorrow WED;
printf(%d %d %d \n, yesterday, today, tomorrow);
}
2.错误对枚举型的常量量赋值 枚举常量一但定义将不可修改
好了今天就到这里了都看到这里了点一个赞吧感谢观看。