工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

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言語

  1. C# Hello World - 初めての C# プログラム
  2. C# のキーワードと識別子
  3. C# 変数と (プリミティブ) データ型
  4. C# 演算子
  5. C# のビット単位およびビット シフト演算子
  6. C# の基本的な入力と出力
  7. C# 式、ステートメント、およびブロック (例付き)
  8. C# コメント
  9. C# switch ステートメント
  10. C# 三項 (? :) 演算子
  11. C# break ステートメント