変数などに付ける識別子(名前)には予約語を使うことは出来ない。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;
}
|
問題なくコンパイルできて、実行もできたが、紛らわしいのでやるべきではないね。
C言語 ANSI C89 Meadow & MinGW GCC 目次はこちら