はじめての C

[Learning GNU C]

2-2. line ごとの 分析

それぞれの line が なにを しているのかを 手早く 説明しよう。 仮りに いくつかの 箇所で 自信が なくても 心配いらない。 もっと 多くの 例題を たっぷり やっていこう。

#include <stdio.h>

この line は GCC が "the Standard Device Input/Output library" から その関数の 使い方についての 情報を 取り入れる include ことを 示している。 通常 標準入力装置 the standard input device は キーボードであり 標準出力装置 the standard output device は (モニター上に 表示される) terminal のことだ。 このライブラリは とても 広く 使われているので この本の 中で 多くの 関数と 出会うだろう。

int
main()

この 2つの line で 関数 main() の 定義が 始まる。 2つの line についての 主要なことは 後ほど 説明しよう。

{

カッコ curly brace を 開くことで code の block の 開始を 合図 signal する。 このカッコと それと 対の 閉じる カッコの 間の 全ての code が 関数 main() の 内容に なる。

printf("hello, world\n");

この line では 関数を 呼び出している。 関数は すでに 定義済だ。 printf() を 呼び出すときは なにを そこに 表示するかを 指示する 引数 argument を 渡さないと いけない。

return 0;

return という statement (命令文) は 関数 main() の 実行を 終わらせるので この line から 後では どんな statement も 実行されないだろう。 main() は プログラムを 抜け出し 終了する。 関数を 終わらせるとき back で それを 呼び出した 側へ 値 value を 渡すことが できる。 それは 返り値を セットすることで 行なわれる。 main() は 常に (小数点を 伴わない 正 あるいは 負の 数の) 整数を 返す。 compiler へは main() の 定義より 前に "int" を 置くことで この要求を 合図する。 main() から 抜け出す際 問題が なければ 0 を 返す 慣習 convention に なっている。

}

カッコを 閉じることで main() を 構成する code の block の 終了を 合図する。

main() 本体を 構成する 2つの line は statement として 知られている。 より具体的に いえば それらは (第4章で 出会うことに なる 複合命令文 compound statement と 対照の) 単純命令文 simple statement だ。 C における statement は 話しことばでの sentence (文?) に あたる。 simple statement は セミコロンによって 終了する。 プログラムでの 改行は 任意であり C では 改行は けっして 必要と されないが それは code を ずっと 読みやすい ものにする。 上の 関数 main() が 0 の 値を 返すことは すでに 述べた。 多くの 関数において 返り値は プログラム内部で 使うことが できるが main() から 抜け出すときに プログラムの 終了を 合図するので それ -- 返り値 -- は shell へ 戻される。 プログラムの 返り値は shell に 保存されるので それを 知りたいときは 次のように タイプする。

ciaran@poor:~/book$ gcc -Wall -o hello hello.c
ciaran@poor:~/book$ ./hello
hello, world
ciaran@poor:~/book$ echo $?
0
ciaran@poor:~/book$