C列挙
C 列挙
このチュートリアルでは、例を使って C プログラミングの enum (列挙) について学びます。
C プログラミングでは、列挙型 (enum とも呼ばれます) は整数定数で構成されるデータ型です。列挙型を定義するには、enum
キーワードが使用されています。
enum flag {const1, const2, ..., constN};
デフォルトでは、const1 0、const2 1などです。宣言中に enum 要素のデフォルト値を変更できます (必要な場合)。
// Changing default values of enum constants enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3, };
列挙型宣言
列挙型を定義すると、変数のブループリントが作成されます。列挙型の変数を作成する方法は次のとおりです。
enum boolean {false, true}; enum boolean check; // declaring an enum variable
ここで、変数 check タイプ enum boolean
の 作成されます。
このように enum 変数を宣言することもできます。
enum boolean {false, true} check;
ここで、false
の値 0 と true
の値に等しい は 1 です。
例:列挙型
#include <stdio.h>
enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
int main()
{
// creating today variable of enum week type
enum week today;
today = Wednesday;
printf("Day %d",today+1);
return 0;
}
出力
Day 4
列挙型が使用される理由
列挙型変数は 1 つの値のみを取ることができます。これを示す例を次に示します。
#include <stdio.h>
enum suit {
club = 0,
diamonds = 10,
hearts = 20,
spades = 3
} card;
int main()
{
card = club;
printf("Size of enum variable = %d bytes", sizeof(card));
return 0;
}
出力
Size of enum variable = 4 bytes
ここでは、
4
を取得しています。 サイズが int
なので は 4 バイトです。
これにより、enum はフラグを操作するのに適しています。
フラグに列挙型を使用する方法
例を挙げましょう
enum designFlags {
ITALICS = 1,
BOLD = 2,
UNDERLINE = 4
} button;
Windows アプリケーションのボタンを設計しているとします。フラグ ITALIC を設定できます 、太字 そして下線 テキストを操作します。
上記の疑似コードですべての整数定数が 2 のべき乗であるのには理由があります。
// In binary ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
整数定数は 2 のべき乗であるため、ビットごとの OR | を使用して重複することなく、一度に 2 つ以上のフラグを組み合わせることができます。オペレーター。これにより、一度に 2 つ以上のフラグを選択できます。たとえば、
#include <stdio.h>
enum designFlags {
BOLD = 1,
ITALICS = 2,
UNDERLINE = 4
};
int main() {
int myDesign = BOLD | UNDERLINE;
// 00000001
// | 00000100
// ___________
// 00000101
printf("%d", myDesign);
return 0;
}
出力
5
出力が 5 の場合、太字と下線が使用されていることが常にわかります。
また、必要に応じてフラグを追加することもできます。
if (myDesign & ITALICS) { // code for italics }
ここでは、デザインに斜体を追加しました。 if
内にはイタリック体のコードのみが記述されていることに注意してください。
列挙型を使用しなくても、C プログラミングではほとんどすべてのことを実行できます。ただし、特定の状況では非常に便利です。
C言語