枚举变量未赋初值,其默认的值是多少?
typedef enum{OFF,TIME} servo_mode;
servo_mode mode;//并未对mode赋初值
变量mode的默认值就是OFF。这样理解对吗? 展开
枚举变量未分配初始值。默认情况下,第一个枚举成员的默认值为“0”,后续枚举成员值为前一个枚举成员的值(按文本顺序)加一。但是,其值必须在基础类型可以表示的值范围内;
枚举类型,通过预定义列出所有值的标识符来定义有序集,其顺序与枚举类型描述中的标识符顺序一致。枚举类型的形式:(标识符1,...,标识符n)。
枚举元素只能是标识符,而不是数字常量或字符常量。枚举在C/C++/c#中,是一个被命名的整型常数的集合, 枚举在日常生活中很常见。例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDAY,就是一个枚举。
扩展资料
使用枚举类型注意:
枚举中每个成员(标识符)结束符是"," 不是";", 最后一个成员可省略","。
初始化时可以赋负数, 以后的标识符仍依次加1。
枚举变量只能取枚举说明结构中的某个标识符常量。
参考资料:百度百科-枚举类型
参考资料:百度百科-枚举
枚举变量未赋初值,其默认第一个枚举成员的默认值是 “0”,后面的枚举成员值是前一个枚举成员(按照文本顺序)的值加 1 。但是,其值必须在该基础类型可表示的值的范围内;
枚举类型,通过预定义列出所有值的标识符来定义一个有序集合,这些值的次序和枚举类型说明中的标识符的次序是一致的。枚举类型的形式:(标识符1,……,标识符n)。枚举元素只能是标识符,而不能是数值常量或字符常量。
扩展资料
使用枚举类型注意事项:
1、枚举中每个成员(标识符)结束符是"," 不是";", 最后一个成员可省略","。
2、初始化时可以赋负数, 以后的标识符仍依次加1。
3、枚举变量只能取枚举说明结构中的某个标识符常量。
参考资料来源:百度百科--枚举类型
参考资料来源:百度百科--枚举
枚举类型
枚举类型在C#或C++,java,VB等一些计算机编程语言中是一种基本数据类型而不是构造数据类型,而在C语言等计算机编程语言中是一种构造数据类型。它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。
枚举可以根据Integer、Long、Short或Byte中的任意一种数据类型来创建一种新型变量。这种变量能设置为已经定义的一组之中的一个,有效地防止用户提供无效值。该变量可使代码更加清晰,因为它可以描述特定的值。
enum AAA{A,B,C,D};
AAA aaa;
输出:aaa为5093200
结论:和int类似,未初始化的值为当前分配内存的现有值(既不确定)
如下:
typedef enum{OFF,TIME} servo_mode;
servo_mode mode;//并未对mode赋初值
变量mode的默认值就是OFF。这样理解对吗?
不是,不赋初值的话默认值是不第一个分量的值。它的默认初始值跟你的定义有关,如果是全局变量,那么初值是0,如果是局部变量,初始值是一个很大的数。你要OFF的值的话,你就赋值一下
mode = OFF;