C言語では変数名や関数名に自由に名前をつける事ができます。
ただし、変数名や関数名につけてはいけない名前というものも存在します。
それが予約語です。(日本語では予約語としていますが、英語ではKeywords(キーワード)と呼びます)
C言語にはいくつかのバージョンがあり、予約語もC言語のバージョンによって数が微妙に違います。
ここでは一番普及しているC言語のバージョンであるANSI C標準(C89とも呼ばれる)の予約語を示します。
ANSI Cの予約語一覧(32種類)
auto | break | case | char |
const | continue | default | do |
double | else | enum | extern |
float | for | goto | if |
int | long | register | return |
short | signed | sizeof | static |
struct | switch | typedef | union |
unsigned | void | volatile | while |
予約語とは?
識別子として利用出来ない文字列をいいます。
識別子とは変数名・関数名の事です。ですから、予約語とは変数名や関数名で利用できない文字列と言い換えることができます。
要するに
もともとC言語で存在する命令だから使わないでね!
ということです。
こんな感じで予約語を使うとダメ
変数名や関数名に予約語を使ったダメな例を示します。
変数名に予約語を使う
int while;
変数名に予約語の while を使っているのでコンパイルエラーとなります。
ただし、予約語を含む別の文字列ならOKです。
int while1;
これなんかもOK。
int _while;
関数宣言に予約語を使う
int auto(int x){
return x * 5;
}
関数名に予約語の auto を使っているのでコンパイルエラーとなります。
予約語を含む別の関数名なら大丈夫です。 ifauto は予約語同士をつなぎ合わせたものですが、予約語そのものではないのでOK。
int ifauto(int x){
return x * 5;
}
参考文献
C キーワード – Microsoft Documents
C キーワード
標準の C および Microsoft C コンパイラ拡張機能のキーワード。
コメント