2012/06/12

C言語 定数 const, enum

定数は個人的に使用頻度は少なさそうだが、こんなこともできるというレベルのメモ。

定数 const

#include <stdio.h>
int main(void)
{
  const float PI = 3.141593;
  printf("PI = %f\n", PI);
  return 0;
}
constキーワードを付けると、変数ではなく定数となり、値を変更することが出来なくなる。値を変更されては困る場合に使用する。定数に使用する名前は区別するために大文字が好ましい。
PI = 3.141593
Cではconstではなくマクロ(#define)を使った定数もよく見かける。マクロについてはこちらのページ

列挙型 enum

#include <stdio.h>
int main(void)
{
  enum {a,b,c};
  printf("a:%d\nb:%d\nc:%d\n", a, b, c);
  enum {d, e=10, f, g};
  printf("d:%d\ne:%d\nf:%d\ng:%d\n", d, e, f, g);
  return 0;
}
これも定数で自動で0から整数が割り振られる。値を変更することはできない。d,e,f,gの途中で数値を代入すると、その番号を基準に以降は+1されていく。整数に名前を付けて管理したいときに使う。
a:0
b:1
c:2
d:0
e:10
f:11
g:12


列挙タグ enum

#include <stdio.h>
int main(void)
{
  enum enote {a,as,b,c,cs,d,ds,e,f,fs,g,gs};
  enum enote note;
  note = d;
  printf("note d:%d\n\n", note);

  printf(
    "a:%d\n"
    "b:%d\n"
    "c:%d\n"
    "d:%d\n"
    "e:%d\n"
    "f:%d\n"
    "g:%d\n"
    ,a,b,c,d,e,f,g
  );
  return 0;
}
列挙に名前を付けて管理。
note d:5

a:0
b:2
c:3
d:5
e:7
f:8
g:10


C言語 ANSI C89 Meadow & MinGW GCC 目次はこちら