公司网站建设代理怎么做,企业网站源码免费带数据库,1 企业网站的一般内容是什么,广州白云网站建设目录 一.定义
二.枚举类型的声明
三.优点
四.枚举变量 一.定义
将可能的类型和取值一一列举出来#xff0c;比如月份12个月#xff0c;一月#xff0c;二月#xff0c;三月等等#xff0c;那我们就可以把这些月份一一列举出来并放在一起。
二.枚举类型的声明
1.声明…目录一.定义二.枚举类型的声明三.优点四.枚举变量一.定义将可能的类型和取值一一列举出来比如月份12个月一月二月三月等等那我们就可以把这些月份一一列举出来并放在一起。二.枚举类型的声明1.声明enum Day//枚举类型的声明 { Mon,//枚举常量 Tue,//注意是逗号而结构体中的成员用分号 Wed, Thur, Fri, Sat, Sun//最后一个无逗号 };//注意有逗号2.枚举常量1每个枚举常量不是变量因此只能初始化后面不能给枚举常量赋值有对应的取值默认从0开始依次递增。#includestdio.h enum Day//枚举类型的声明 { Mon, Tue, Wed, Thur, Fri, Sat, Sun }; int main() { printf(%d\n,Mon);//直接访问成员即可 printf(%d\n,Tue); printf(%d\n,Wed); printf(%d\n,Thur); printf(%d\n,Fri); printf(%d\n,Sat); printf(%d\n,Sun); return 0; }2同时也可以在声明枚举类型的时候赋初值只能在这里赋初值后面就不行了#includestdio.h enum Day//枚举类型的声明 { Mon1, Tue2, Wed3, Thur4, Fri5, Sat6, Sun7 }; int main() { printf(%d\n,Mon); printf(%d\n,Tue); printf(%d\n,Wed); printf(%d\n,Thur); printf(%d\n,Fri); printf(%d\n,Sat); printf(%d\n,Sun); return 0; }3对其中一个枚举常量赋初值紧接后面的枚举常量依次1#includestdio.h enum Day//枚举类型的声明 { Mon,//前面默认从0开始 Tue, Wed4,//给Wed枚举常量赋初值4 Thur, Fri, Sat, Sun }; int main() { printf(%d\n,Mon); printf(%d\n,Tue); printf(%d\n,Wed); printf(%d\n,Thur); printf(%d\n,Fri); printf(%d\n,Sat); printf(%d\n,Sun); return 0; }三.优点1.增加代码的可读性和可维护性可读性用枚举常量替代数字代码更容易理解。可维护性修改枚举值时无需全局替换数字。2.枚举有类型检查比#define更严谨。3.可以调试而#define在预处理中就被删去。4.使用方便一次可以定义多个常量。5.枚举常量遵循作用域规则而#define在全局中都可以使用。四.枚举变量1.枚举变量定义#includestdio.h enum Day { Mon, Tue, Wed, Thur, Fri, Sat, Sun }; int main() { enum Day d;//枚举变量定义 return 0; }2.枚举变量初始化不能用整数给枚举变量赋值应该使用枚举常量给枚举变量赋值。#includestdio.h enum Day { Mon, Tue, Wed, Thur, Fri, Sat, Sun }; int main() { enum Day d 0;//错误不能用整数给枚举变量赋值因为左右两边类型不同。 //但在C语言中可以C不行因为C类型检查更严格。 enum Day d Mon;//使用枚举常量给枚举变量赋值 return 0; }五.应用核心解决“数字含义模糊问题”能够有效提升代码质量。1. 状态与模式表示用于清晰定义对象的离散状态如设备状态、流程阶段避免直接使用无意义的数字。// 定义设备状态枚举 enum DeviceState { IDLE, // 空闲默认值0 RUNNING, // 运行值1 PAUSED, // 暂停值2 ERROR // 错误值3 }; // 使用枚举表示当前状态 enum DeviceState current_state RUNNING; if (current_state ERROR) { printf(设备异常请检查\n); }2. 错误码统一管理替代分散的错误数字如-1、-2用枚举集中定义错误类型便于调试和维护。// 定义文件操作错误码 enum FileError { SUCCESS 0, // 成功显式赋值0 FILE_NOT_FOUND -1, PERMISSION_DENIED -2, DISK_FULL -3 }; // 函数返回枚举类型的错误码 enum FileError read_file(const char* path) { if (!path) return FILE_NOT_FOUND; // ... 其他逻辑 ... return SUCCESS; }3. 互斥选项/配置项表示一组互斥的选择如颜色、模式、菜单选项使代码意图更明确。// 定义UI主题颜色枚举 enum ThemeColor { THEME_RED, THEME_GREEN, THEME_BLUE }; // 应用主题配置 void set_theme(enum ThemeColor color) { switch(color) { case THEME_RED: printf(主题切换为红色\n); break; case THEME_GREEN: printf(主题切换为绿色\n); break; default: break; } }4. 位掩码Bitmask实现多选项通过枚举值按位分配实现“多选一”或“多选多”的场景需结合位运算。// 定义权限枚举每个值占1位 enum Permission { READ 1 0, // 0b0001读权限 WRITE 1 1, // 0b0010写权限 EXECUTE 1 2 // 0b0100执行权限 }; // 组合权限读写 int user_perm READ | WRITE; // 检查是否有执行权限 if (user_perm EXECUTE) { printf(拥有执行权限\n); }文章到这里就结束了创作不易如果喜欢的话点个关注点个赞谢谢大家