C枚舉類型

C枚舉類型簡介

使用typedefenum我們可以使用關鍵字定義一個可以具有一個值或另一個值的類型。

這是最重要的用途之一typedef關鍵詞。

這是枚舉類型的語法:

typedef enum {
  //...values
} TYPENAME;

按照慣例,我們創建的枚舉類型通常是大寫的。

這是一個簡單的示例:

typedef enum {
  true,
  false
} BOOLEAN;

C帶有一個bool類型,因此這個示例並不實際,但是您可以理解。

另一個示例是定義工作日:

typedef enum {
  monday,
  tuesday,
  wednesday,
  thursday,
  friday,
  saturday,
  sunday
} WEEKDAY;

這是使用此枚舉類型的簡單程序:

#include <stdio.h>

typedef enum {
  monday,
  tuesday,
  wednesday,
  thursday,
  friday,
  saturday,
  sunday
} WEEKDAY;

int main(void) { WEEKDAY day = monday;

if (day == monday) { printf(“It’s monday!”); } else { printf(“It’s not monday”); } }

枚舉定義中的每個項目都在內部與一個整數配對。所以在這個例子中monday is 0, tuesday是1,依此類推。

這意味著該條件可能已經if (day == 0)代替if (day == monday),但是對於我們人類來說,使用名稱而不是數字進行推理更簡單,因此這是一種非常方便的語法。

免費下載我的C手冊


更多clang教程: