※ 2009/1/11 書き直し
C言語のプログラムははじめから何でもできるわけではありません。何かをさせようとするためには、処理を記述しなければなりません。例えば、文字列を出力するためにはprintf関数の処理 --- 画面出力の処理が必要となります。
ただ、プログラムを作るのにいちいち標準的な入出力処理関数の処理を記述するのは面倒です。そこで、外部から処理を取り込むようにすると、標準的な入出力処理は標準で準備されている関数を使用すればよくなり、プログラムが楽になります。この取り込む動作がincludeの処理です。
(※ printfを使用する場合はstdio.hをincludeする必要があり、includeがない場合はprintfが使用で着ません。)
includeの前に#がついていますが、これはincludeという処理がプリプロセッサという特殊な処理だということを示しています。(プリプロセッサに関してはこのサイトでは詳しく扱っていません。)
includeは.c(cソースファイル)も取り込むことができますが、普通は.h(ヘッダファイル)を取り込みます。
ヘッダファイルには、プログラム内で共通に使われる変数や定数、関数の定義などがかかれます。(処理もかけないことはないですが、一般にはヘッダファイルには定義のみを書くこととなっています。)
includeには次の2種類があります。
#include <********.h> #include "********.h"
どちらもヘッダファイルのincludeですが、参照する場所が異なります。
上は標準的なパス(/usr/libや/usr/lib64など)からincludeするときに、下はそれ以外の、パスからincludeするときに使用します。パスは、絶対パス、ソースコードからの相対パスを指定するか、gccのオプションで参照パスを設定します。