ページ 11

列挙型の変数がわかりません

Posted: 2016年2月02日(火) 10:18
by マミタス
enum タグ名{列挙リスト}変数リスト;
enum color{red, green, yellow}co;

コード:

int main(){
    enum color list;
    list = red;
    printf("%d", list);
return 0;
}
タグ名があれば、変数リストはいらないと思うんですけど変数リストって何に使うんですか?

Re: 列挙型の変数がわかりません

Posted: 2016年2月02日(火) 13:27
by みけCAT
変数を宣言するのに使うのでしょう。

コード:

int main(){
    enum color{red, green, yellow}list;
    list = red;
    printf("%d", list);
return 0;
}

Re: 列挙型の変数がわかりません

Posted: 2016年2月02日(火) 22:42
by マテ茶
enum colorというのはあくまで型です。

listで初めて変数を宣言しています。

★補足★
0, 1, 2と書かれても見る人は何の値か意味不明ですが、
0, 1, 2をそれぞれred, blue, greenとしてenumで定義しておけば
とても分かりやすいと思いませんか?

コード:

//列挙型定義
enum color{
  red,
  blue,
  green
};

int main(void)
{
  enum color list; //listという変数の宣言

  /* 分かりやすい */
  list = red;
  list = blue;
  list = green;

  /* 何の値なのか意図が伝わらない */
  list = 0;
  list = 1;
  list = 2;

  return 0;
}