C言語の列挙型(enum)とは?基本構文と使い方を実例付きで解説
列挙型(enum)は、C言語におけるユーザー定義データ型の一つです。整数定数に分かりやすい名前を付けることができるため、プログラムの可読性や保守性が大きく向上します。列挙型を宣言するには、「enum」というキーワードを使用します。
enumの基本構文
C言語におけるenumの基本的な構文は以下の通りです。
enum enum_name{const1, const2, ....... };enumキーワードは、enum型の変数を定義する際にも使用できます。enum型の変数を定義する方法は、主に次の2通りがあります。
enum week{sunday, monday, tuesday, wednesday, thursday, friday, saturday};
enum week day;1つ目は、列挙型の宣言時に型名を指定しておき、後からその型で変数を宣言する方法です。もう1つは、宣言と同時に変数を定義する方法です。
サンプルコード
ここで、C言語におけるenumの具体的な使用例を見てみましょう。
#include<stdio.h>
enum week{Mon=10, Tue, Wed, Thur, Fri=10, Sat=16, Sun};
enum day{Mond, Tues, Wedn, Thurs, Frid=18, Satu=11, Sund};
int main() {
printf("enum week の値: %d\t%d\t%d\t%d\t%d\t%d\t%d\n\n", Mon, Tue, Wed, Thur, Fri, Sat, Sun);
printf("enum day のデフォルト値: %d\t%d\t%d\t%d\t%d\t%d\t%d", Mond, Tues, Wedn, Thurs, Frid, Satu, Sund);
return 0;
}実行結果
enum week の値: 10111213101617 enum day のデフォルト値: 0123181112
プログラムの解説
上記のプログラムでは、main()関数の外側で「week」と「day」という2つの列挙型が宣言されています。そして、main()関数の中で、それぞれの列挙子(enumの要素)が持つ値を出力しています。
enum week{Mon=10, Tue, Wed, Thur, Fri=10, Sat=16, Sun};
enum day{Mond, Tues, Wedn, Thurs, Frid=18, Satu=11, Sund};
int main() {
printf("enum week の値: %d\t%d\t%d\t%d\t%d\t%d\t%d\n\n", Mon, Tue, Wed, Thur, Fri, Sat, Sun);
printf("enum day のデフォルト値: %d\t%d\t%d\t%d\t%d\t%d\t%d", Mond, Tues, Wedn, Thurs, Frid, Satu, Sund);
}デフォルト値のルール
列挙子に値を明示的に指定しない場合、最初の要素には自動的に「0」が割り当てられ、以降の要素は1ずつ増加していきます。一方、途中で値を明示的に指定した場合は、その次の要素は「指定した値 + 1」から順に割り当てられます。
この例では、enum week の「Mon」に10を指定しているため、Tue以降は11、12、13と続きます。また「Fri」に再び10を指定しているため、Satは16、Sunは17となります。enum day のように一切値を指定しない場合は、0から始まる連番が自動的に割り当てられます。
まとめ
enumを使うことで、マジックナンバー(意味のない生の数値)を避け、コードの意図を明確に表現できます。曜日や状態管理など、関連する定数をグループ化したい場面でぜひ活用してみてください。
-
C++のenum(列挙型)とは?基本の使い方を徹底解説
C++のenum(列挙型)とは?基本の使い方を徹底解説 列挙型(enumerated type)は、あらかじめ定義された値の範囲の中から、いずれか一つの値だけを持つことができるユーザー定義型です。 プログラミングでは、変数が特定の値の集合の中の一つの値しか格納できないようにしたい場合によく使われます。たとえば、変数に「曜日」だけを格納したい場合などに、列挙型が役立ちます。 この記事では、C++における列挙型の基礎知識、定義方法、コードでの実際の使い方を、サンプルコードとともにわかりやすく解説します。読み終える頃には、C++のenumを使いこなせるようになっているはずです。 C++におけ
-
HTMLのvalue属性とは?使い方とサンプルコードをわかりやすく解説
HTMLのvalue属性は、HTMLドキュメント内で要素の初期値(デフォルト値)を定義するための属性です。この属性は、button、input、meter、li、option、progress、paramといったHTML要素に対して使用できます。value属性はフォームやUIコンポーネントにおいて重要な役割を果たします。例えば、input要素では入力欄にあらかじめ表示されるテキストを指定でき、meter要素やprogress要素では現在の進捗状況を数値で表現できます。構文value属性の基本的な構文は以下のとおりです。<tagname value="text">