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と手動で割り当てられています。