C言語 | C言語入門 | トークンと文

ソースコードは、プログラムの最小単位であるトークンに分解できる。文は複数のトークンで構成される実行単位である。

コードの最小単位

コンパイラーは字句解析でソーステキストをトークンへ分解する。C言語のトークンは6種類に分類される。

  • 識別子
  • キーワード
  • 定数
  • 文字列リテラル
  • 演算子
  • 区切り記号

return などのキーワードは言語仕様で予約されている。識別子は関数や変数などに名前を付ける。定数と文字列リテラルは固定値を表す。演算子は計算を行う。括弧、波括弧、コンマ、セミコロンなどの区切り記号はコードを構成する。

#include <stdio.h>

int main() {
 printf("Kitty on your lap\n");
 return 0;
}

プリプロセッサディレクティブを除くと、このプログラムには intmain、括弧、printf、文字列リテラル、return0、セミコロン、波括弧などのトークンがある。

空白文字は、隣接するキーワード、識別子、定数を区切る。スペース、水平タブ、垂直タブ、改行、改ページは空白文字として扱われる。

コード1

  int
main (
void
){
   return
0;
  }

読みにくいが、このコードは正しい。次のように1行でも記述できる。

int main(){return 0;}

必要な空白を削除するとトークンの境界が変わり、エラーになる。

intmain(){return0;}
int mai n(){ retu rn 0; }

実行単位

文は、トークンで構成される実行単位である。多くの文はセミコロンで終わる。

printf("Stand by Ready!!\n");
return 0;

通常、改行は可読性を高めるだけで、文を終了しない。ただし、#include のようなプリプロセッサディレクティブは改行で終了する。

#include <stdio.h>
int main() { printf("Stand by Ready!!\n"); return 0; }

代表的な文には、ラベル付き文、式文、複合文、選択文、繰り返し文、ジャンプ文がある。{} で囲む複合文はブロックとも呼ばれ、末尾のセミコロンは不要である。