2012/06/10

C言語 予約語

変数などに付ける識別子(名前)には予約語を使うことは出来ない。C言語の予約語は以下の通りでひじょうに少ない。ついでに識別子は半角英数字を使うが、先頭には数字は使えない。大文字小文字は区別される。

C89の予約語
auto int
break long
case register
char return
const short
continue signed
default sizeof
do static
double struct
else switch
enum typedef
extern union
float unsigned
for void
goto volatile
if while

C99の予約語
inline restrict
_Bool _Complex
_Imaginary
予約語を見るとmainとかは予約語ではないのね。ということでmainを変数名にして動かしてみた。

mainを変数名で使ってみる

#include <stdio.h>
int main(void){
  int main;
  main = 100;
  printf("main = %d\n",main);
  return 0;
}
問題なくコンパイルできて、実行もできたが、紛らわしいのでやるべきではないね。
main = 100


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