文法概要

このドキュメントには C 言語文法の仕様と Light C 固有の拡張および制限が記載されています。必ずしも C 言語の入門書ではありませんので、C 言語の一般的な書き方を学ぶ場合は、市販の入門書なども参照することをお勧めいたします。

プリプロセス

C そソース ファイルは、最初にプリプロセスという前処理が適用され、その結果生成されたコードが C の構文解析にかけられます。

参照   プリプロセス指令プリプロセス演算子-pi オプション、-fp オプション

C ソース コードの構成

C のソース ファイルはトークン (token, 字句) の連続です。トークンは次のいずれかです。

トークン 説明
キーワード forif など、特定の意味を持つ予約語
名前 (識別子) 変数名、関数名など、ユーザーが定義する識別子
リテラル 10"abc" などの定数データ表現
演算子 =+[] など
区切り子 キーワードや名前などを分離するための文字 (列) で、それ以外の役割を持ちません。ホワイトスペース (スペース文字、タブ、改行など) またはコメントのいずれかです。

トークンの一定の連続が関数や変数の宣言を構成します。このレベルで見ると、C のソース ファイルは関数宣言・定義と変数宣言の集まりです。

関数内には文 (ステートメント) を記述します。文は次のいずれかです。
構文 <宣言> ;
<文> ;
<制御文>
<ブロック>

ここで <ブロック> は、任意の数の文の並びを { } で囲んだものです。
int a; // 宣言
a = 1; // 式文
if ( x ) a++; // 制御文
if ( x ) { a++; } // ブロックを含む制御文 (上と同じ効果)