enumとは
・目次
1.enumとは
(1) 列挙型
(2) 複数の変数に一連の整数値を付けるのに使用する。
(2) 複数の変数に一連の整数値を付けるのに使用する。
(3) 列挙型で定義される変数はメンバと言う。
(3) デフォルトでは定義されたメンバの順に0(ゼロ)から整数値が付けられる。
(4) 最初の値を0(ゼロ)以外で定義することも可能。
(5) 例えば、OFFを0、ONを1という整数値にしたい時などに使用する。
(5) 例えば、OFFを0、ONを1という整数値にしたい時などに使用する。
2.enumの使い方
(1) 使用方法、書き方
//enumの定義
enum タグ名 {メンバ[0], メンバ[1], メンバ[2], ・・・};
//enumの宣言
enum タグ名 オブジェクト名;
オブジェクト名 = メンバ名;
(2) 使用例(enumを使ったプログラムの作成)
enumで宣言したmen0,men1,men2の値を確認する。
#include<stdio.h> //enumの定義 enum tag{ men0, //0 men1, //1 men2 //2 }; int main(void){ //enumの宣言 enum tag a,b,c; int d; //enum型のメンバを代入 a = men0; b = men1; c = 10; //メンバ以外のものを代入 //int型にメンバを代入 d = men2; printf("men0:%d\n",a); printf("men1:%d\n",b); printf("men2:%d\n",d); printf("c:%d\n",c); }
実行結果:https://paiza.io/projects/ylFYVWDuOTYp3MgwaCq_ag
※注意
実行結果を見ると、aは0,bは1、cは10、dは2となっている。
enumで宣言した変数に、enumで設定したもの以外も入力できる。
また、enumで宣言したタグ名を使用しなくても、enumで用意した
men0は、0、men1は1、men2は2として定数として扱うことができる。
3.enumをtypedefで定義して使用する。
(1) typedefを使用したenumの使用方法、書き方
typedef enum タグ名 {メンバ[0], メンバ[1], メンバ[2], ・・・}型名;
//※タグ名は省略可
//型宣言
型名 オブジェクト名;
オブジェクト名 = メンバ名;
(2)使用例 (typedef enumを使用したプログラム)
//ファイルのインクルード #include <stdio.h> ///ONOFF型 typedef enum{OFF=0 ///<OFF指定 ,ON ///<ON指定
}ONOFF; int main(void){ ONOFF a = OFF; ONOFF b = ON; int c = ON; printf("a:OFF:%d\n",a); printf("b:ON:%d\n",b); printf("c:ON:%d\n",c); printf("OFFsize:%ld\n",sizeof(a)); printf("ONsize:%ld\n",sizeof(a)); printf("ONOFFsize:%ld\n",sizeof(ONOFF)); }
実行結果:https://paiza.io/projects/mLpHK4wGvOClet6-6rfcpg
関連記事
過去の記事:
C言語:
・組み込みの為のC言語基礎知識1(printf) - Project_OKI’s diary
・C言語基礎知識2(for分で処理を繰り返す) - Project_OKI’s diary
・C言語基礎知識3(配列) - Project_OKI’s diary
・知らないと損するお金の話(ふるさと納税、確定申告とワンストップ納税どっちが得?) - Project_OKI’s diary
・C言語基礎知識6(関数) - Project_OKI’s diary
・C言語基礎知識7(構造体1) - Project_OKI’s diary
・C言語基礎知識8(enum:列挙型) - Project_OKI’s diary
・C言語基礎知識9(typedef) - Project_OKI’s diary