選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C 列舉 (enum)


C 列舉

enum 是一種特殊的型別,它表示一組常量(不可更改的值)。

要建立列舉,請使用 enum 關鍵字,後跟列舉的名稱,並用逗號分隔列舉項

enum Level {
  LOW,
  MEDIUM,
  HIGH
};

注意,最後一項不需要逗號。

不強制使用大寫,但通常被認為是良好的實踐。

Enum 是 "enumerations"(列舉)的縮寫,意思是 "明確列出"。

要訪問列舉,您必須建立它的一個變數。

main() 方法中,指定 enum 關鍵字,後跟列舉的名稱(在此示例中為 Level),然後是列舉變數的名稱(myVar

enum Level myVar;

現在您已經建立了一個列舉變數(myVar),您可以為其賦值。

賦給它的值必須是列舉中的一個項(LOWMEDIUMHIGH

enum Level myVar = MEDIUM;

預設情況下,第一項(LOW)的值為 0,第二項(MEDIUM)的值為 1,依此類推。

如果您現在嘗試列印 myVar,它將輸出 1,這代表 MEDIUM

int main() {
  // 建立一個列舉變數併為其賦值
  enum Level myVar = MEDIUM;

  // 列印列舉變數
  printf("%d", myVar);

  return 0;
}
自己動手試一試 »

更改值

如您所知,列舉的第一項值為 0。第二項值為 1,以此類推。

為了使這些值更有意義,您可以輕鬆地更改它們

enum Level {
  LOW = 25,
  MEDIUM = 50,
  HIGH = 75
};
printf("%d", myVar); // 現在輸出 50
自己動手試一試 »

請注意,如果您為某個特定項賦值,接下來的項將相應地更新其編號

enum Level {
  LOW = 5,
  MEDIUM, // 現在是 6
  HIGH // 現在是 7
};
自己動手試一試 »

Switch 語句中的列舉

列舉通常在 switch 語句中使用,以檢查相應的值

enum Level {
  LOW = 1,
  MEDIUM,
  HIGH
};

int main() {
  enum Level myVar = MEDIUM;

  switch (myVar) {
    case 1
      printf("Low Level");
      break;
    case 2
      printf("Medium level");
      break;
    case 3
      printf("High level");
      break;
  }
  return 0;
}
自己動手試一試 »

為什麼以及何時使用列舉?

列舉用於為常量命名,這使得程式碼更易於閱讀和維護。

當您擁有一組您知道不會改變的值時,請使用列舉,例如月份、星期幾、顏色、一副牌等等。


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援