はじめての C

[Learning GNU C]

2.5. さまざまな ファイル

プログラムは 1つの ファイルで 書かなければ ならないことは ない。 code は 思うように 多くの ファイルに 細分することが できるので 1つの プログラムを 40個の 関数で 構成したとしても それぞれの 関数を 別々の ファイルに 入れることが 可能だ。 これは 少し 極端だが。 関数は しばしば 課題 topic ごとに 集められ 別々の ファイルに 入れられる。 たとえば pizza の 単価を 算出し その結果を 表示する プログラムを 書いていたとすると 計算する 関数を 1つの ファイルに、表示する 関数を 別の それに 入れ 3つ目を main() と することが できる。 プログラムを コンパイルするため 使われる コマンドは このように 表されるだろう。

ciaran@poor:/~book$ gcc -o pizza-program main.c prices.c display.c
ciaran@poor:~/book$

留意点: prices.c で 関数を 定義し この関数を main.c から 呼び出したいときは その関数を main.c のなかで 宣言しておかないと いけない。

2.6. ヘッダファイル

関数の 宣言が 混乱して 見失いことの ないよう -- そのためには -- さまざまな ファイルで 現われることの できるよう C の code を 収めるため ヘッダファイルが 用いられる。 stdio.h は 多くの 関数の 宣言を 収めた ヘッダファイルであり そこには printf() や printf() の(?) 関数の 宣言が 含まれている。 一度 共有したい 関数の 宣言を しておけば その情報を 必要とする 各々の C の ファイルの ヘッダへ 収める -- #include -- ことが できる。 ファイルの 名前を 取り込むとき (標準関数と) ただ 1つ 違うのは angle bracket の かわりに quote を 付ける (<system_header.h> の かわりに "my_header.h" とする) ことだ。 これらの 要点を 説明するため 先に ふれた pizza-program を 書こう。