C列挙型

C列挙型の概要

を使用してtypedefそしてenumキーワード1つの値または別の値を持つことができるタイプを定義できます。

これは、の最も重要な用途の1つです。typedefキーワード。

これは列挙型の構文です:

typedef enum {
  //...values
} TYPENAME;

私たちが作成する列挙型は、通常、慣例により大文字です。

簡単な例を次に示します。

typedef enum {
  true,
  false
} BOOLEAN;

Cにはboolタイプ、したがって、この例は実際には実用的ではありませんが、アイデアは得られます。

別の例は、平日を定義することです。

typedef enum {
  monday,
  tuesday,
  wednesday,
  thursday,
  friday,
  saturday,
  sunday
} WEEKDAY;

この列挙型を使用する単純なプログラムを次に示します。

#include <stdio.h>

typedef enum {
  monday,
  tuesday,
  wednesday,
  thursday,
  friday,
  saturday,
  sunday
} WEEKDAY;

int main(void) { WEEKDAY day = monday;

if (day == monday) { printf(“It’s monday!”); } else { printf(“It’s not monday”); } }

列挙型定義のすべての項目は、内部的に整数とペアになっています。したがって、この例ではmonday is 0, tuesday1などです。

これは、条件付きがif (day == 0)の代わりにif (day == monday)、しかし、私たち人間にとって、数字ではなく名前で推論する方がはるかに簡単なので、非常に便利な構文です。

私の無料ダウンロードCハンドブック


その他のclangチュートリアル: