苦しんで覚えるC言語

書き方のルール


第1項:トークン

日本語の文章は、文字、単語、文、段落、のように、
文章を構成している様々な要素に分解することが出来ます。
C言語のプログラムも、同様に分解することが出来ます。

文法的にC言語のプログラムを分解した時、最小単位はトークンです。
トークンとは、要するに単語のことです。例えば、始めに作成したプログラムは、

int main(void) {return 0;}
でしたが、これをトークン毎に分解すると次のようになります。
トークン分割
int
main
(
void
)
{
return
0
;
}
トークンを最小単位と呼ぶ理由は、これ以上分解すると意味が変わってしまうためです。
例えば、return を、ret urn に分解すると、エラーが表示され、動作出来なくなります。

目次に戻る

第2項:フリーフォーマット

C言語は、フリーフォーマット、つまり、自由書式です。
プログラムの書き方の制限がほとんどないので、自由な書き方で書くことが出来ます。
フリーフォーマット
プログラムの書き方の制限が緩く、自由な書き方が出来る。
C言語のプログラムの書き方で、明確なルールはたった1つしかありません。
それは、トークン同士をつなげて書いてはいけないと言うことです。
例えば、始めに作成したプログラムを、下のように書いてはいけません。

intmain(void) {return 0;}
この例では、int と main がくっついてしまっていることが問題です。

しかし、始めに作成したプログラムを見てもわかるように、例外もあります。
それは、記号はつなげて書いても良いと言うことです。
始めに作成したプログラムでは、(){};などは、つなげて書いていました。

それは、記号はあらかじめ決められた1文字なので、つながっても区別出来るからです。
intmainの場合、これはどう見ても、intmainというトークンにしか見えません。
しかし、main(void) なら、main、()、void、であることは一目瞭然です。

C言語のプログラムにおいて、書き方のルールはたったこれだけです。
とにかく、記号以外のトークンをつなげないで書きさえすれば認識してくれるのです。
極端な話、このプログラムでさえ、問題なくコンパイルすることが可能です。

int
main
(
void
)
{
return
0
;
}

目次に戻る

第3項:そのほかのルール

C言語には、先ほど説明したルールとは別にも書き方のルールがあります。
まず、C言語は、大文字と小文字を区別するということです。
例えば、mainとMAINとmaINは、C言語では、全く別のトークンと解釈されます。
従って、プログラムを打ち込む時には、大文字小文字の違いに気をつけて下さい。

また、C言語では、文の終わりには ; の記号を書くことになっています。
先ほどのプログラムでは、return文の最後に、; がつけられていました。
これを忘れてしまうとエラーになってしまうので、気をつけて下さい。

1つ、注意点として、C言語では、全角文字を認識することは出来ません。
画面に表示する文字列などには、全角文字を使うことが出来ますが、
プログラム自体は、全て半角で入力して下さい。
全角スペースの罠
プログラムを記述するときにやってしまう間違いが全角スペースです。
全角スペースも全角文字なので、コンパイラはこれを間違いとします。
全角スペースが表示されないテキストエディタを使用していると、
どこに間違いがあるのかがわからなくなってしまいます。

目次に戻る