[英]Fun with enums: in C is it allowed to define a variable as an enum type, then initialize the variable to a value not contained in the enum?
在以下簡短的代碼示例中,變量被定義為特定的枚舉類型,然后初始化為該枚舉類型中不包含的值。 這甚至允許嗎? 如果是這樣,是否有任何可能的充分理由這樣做? 謝謝!
typedef enum
{
element_zero = 0;
element_one = 1;
element_two = 2;
} enum_triple;
typedef enum
{
element_five = 5;
} enum_single;
enum_single return_value = (enum_single)element_zero;
關於 C 和 C 編程背后的理念需要記住的幾件事:
C 中的枚舉是表示不一定有序的值集的便捷方式,但僅此而已。 它們不是 C 中的高級抽象,就像它們在 Java 或 C# 中一樣。 枚舉常量不依賴於任何特定的枚舉類型,枚舉類型的對象可以采用為它們定義的枚舉常量集之外的值。
它們比其他任何東西都更方便。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.