C言語で列挙型の要素に値を代入する方法を教えてください。

C言語において、列挙型の要素のデフォルト値は0から順にインクリメントされるように割り当てられます。ただし、列挙型の要素に手動で値を割り当てることもできます。次に例を示します。

#include <stdio.h>

// 默认赋值
enum Days {
  Monday, // 0
  Tuesday, // 1
  Wednesday, // 2
  Thursday, // 3
  Friday, // 4
  Saturday, // 5
  Sunday // 6
};

// 手动赋值
enum Colors {
  Red = 1, // 1
  Green = 2, // 2
  Blue = 4 // 4
};

int main() {
  enum Days today = Monday;
  enum Colors color = Red;

  printf("Today is %d\n", today); // 输出:Today is 0
  printf("Color is %d\n", color); // 输出:Color is 1

  return 0;
}

上記の例では、Days列挙型の要素はデフォルトで0から自動増分され、Colors列挙型の要素は1、2、4と手動で割り当てられています。

bannerAds