サイトマップ / C言語講座>出入り口>総目次>目次:入出力(1)>最も短いCのソースプログラム
上記の1行はコメントです。コメントは'/* 'で始まり、' */'で終わります。
このソースプログラムをコンパイルすると、コンパイルに先立って、プリプロセッサによってこのコメントは削除されます。コメントはプログラム本体に影響しません。適切なコメントを、ソースプログラムの中の適切な位置に入れておきましょう。
重要:コメントは'/* 'で始まり、' */'で終わる。
コメントの中にコメントを入れること(コメントのネスティング)は、多くのCコンパイラでコンパイルエラーとなります。本シリーズではネストしません。
C++では、'//'もコメントとして使用可能です。新しいCコンパイラでも使用できるものがあります。行の途中に'//'があると、'//'以降がコメントになります。本シリーズでは、'//'をコメントとして使用しません。その代わり、説明文でコメントの中にコメントを入れる必要が出た時、本物のコメントの代わりに使います。
重要:Cのコンパイラによっては'//'もコメントとして認めるものがある。 */
/* * * こんなコメントの書き方もあります(^-^)。 * */ /********************************** * * * こんなのもあります * * 工夫してみて下さい (^-^;) * * * ***********************************/
/* 下に示したのは、世界で最も短いC言語のソースプログラムです。C言語のソースプログラムをCコンパイラでコンパイルすると、実行可能なプログラムができます。 */
void main(void); /* プロトタイプ宣言 */ void main(void) /* main 関数 */ { ; } |
/* 1行目はプロトタイプ宣言というもので、コンパイラにこのソースプログラム中に、どんな関数があるか明示します。
重要:プロトタイプ宣言をすると、ソースプログラムが見やすくなる。特に、コンパイラと他人から。
Cでは、コンピュータに何かさせようとする時、関数というものを使います。関数がどういうものか、main関数を例に簡単に説明します。
コンピュータには、スタック(Stack)という特別な記憶場所があります。そこに保存したデータは、後から入れたものほど取り出す時に先に出てきます。例えれば、机の上に積み重ねた伝票のようなものです。このような記憶の仕方を、LIFO(Last In First Out)と言います。
関数は引数(Augment)を取ることがあります。引数はカッコの中に書きます。複数の引数を取る時は','で区切ります。
引数を取らない関数もあります。引数を取らない関数はカッコの中に'void'と書きます。'void'とは、捨てる、あるいは、無効という意味です。今回のmain関数は引数を取りません(カッコの中のvoid)。
関数に制御が移る前に、引数はスタックに積まれます。関数に制御が移ったら、関数がスタックのデータを取り出します。関数はそのデータを使って何かをします。何をするかは関数によって違います。関数は何かをした結果をスタックに積みます。関数によっては、何も積まないものもあります。今回のmain関数も積みません(行の先頭のvoid)。関数によって積まれたデータを、関数の戻り値といいます。
制御が関数を呼び出した側に戻った時、スタックに積まれたデータを取り出します。関数の呼び出し側は、そのデータを使って何かをします。
2行目は空白です。空白行を入れておくと、ソースコードが、格段に見やすくなります。C言語の特長のひとつである可読性の高さを保つために、この行が必要なのです。コンパイラは、スペース、タブ、改行コードを無視します(読み飛ばす)。従って、いくらスペースや改行があっても、出来上がりのプログラムには影響しません。積極的に改行その他を利用して、見やすいソースコードを書きましょう。
3行目、main関数は必ず必要です。C言語のソースプログラム中には、必ず一度だけ、main関数がでてきます。プログラムを実行すると、必ずmain関数の最初の行から実行されます。
重要:Cプログラムには一つだけmain関数が必要。
4行目の'{'は、main関数本体の始めを、6行目の'}'は、main関数本体の終わりを示しています。このように'{'と'}'で挟まれた部分をブロックといいます。
5行目の';'はコマンド(命令)の区切りを表しています。Cではコマンドの区切りを';'でコンパイラに教えます。
ところで、';'の位置がタブキーによって、一段下がっています。これを、インデント(字下げ)といいます。インデントするには、タブキーを使います。インデントによって、可読性が更に良くなります。習慣づけましょう。
main関数の中には、';'だけしかありません。コンピュータにこうしろという命令がありません。このような行を空行といいます。このソースプログラムをコンパイルすると、実行可能なプログラムができます。しかし、実行しても何も起こりません。 */
/* (C) 2000- YFプロ. All Rights Reserved. */ 提供:C言語講座−それ自体コンパイルできる教材を使った講座です−