枚举 (enumerated)类型就是指它的值为符号常量而不是字面值的类型,它们以下面这种形式声明:
enum Jar_Type { CUP, PINT, QUART, HALF_GALLON, GALLON };
这条语句声明了一个类型,称为Jar_Type。这种类型的变量按下列方式声明:
enum Jar_Type milk_jug, gas_can, medicine_bottle;
如果某种特别的枚举类型的变量只使用一个声明,可以把上面两条语句组合成下面的样子:
enum { CUP, PINT, QUART, HALF_GALLON, GALLON }
milk_jug, gas_can, medicine_bottle;
这种类型的变量实际上以整型的方式存储,这些符号名的实际值都是整型值。这里CUP是0,PINT是1,以此类推。适当的时候,可以为这些符号名指定特定的整型值,如下所示:
enum Jar_Type { CUP = 8, PINT = 16, QUART = 32,
HALF_GALLON = 64, GALLON = 128 };
只对部分符号名用这种方式进行赋值也是合法的。如果某个符号名未显式指定一个值,那么它的值就比前面一个符号名的值大1。
枚举类型中的符号名被当作整型常量处理,声明为枚举类型的变量实际上是整数类型。这个事实意味着你可以给Jar_Type类型的变量赋诸如623这样的字面值,你也可以把HALF_GALLON这个值赋给任何整型变量。但是,你要避免以这种方式使用枚举,因为把枚举变量同整数无差别地混合在一起使用,会削弱它们值的含义。文章来源:https://www.toymoban.com/news/detail-675977.html
参考文章来源地址https://www.toymoban.com/news/detail-675977.html
- 《C和指针》
到了这里,关于《C和指针》笔记8: 枚举类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!