ヘッダファイル
最近の多くのプログラミング言語では、プログラムはサブルーチンなどの小さなコンポーネントに分割されており、各サブルーチンは複数の物理的に分割されたファイルに配置され、個々にコンパイルされる。あるサブルーチンがそのファイル以外で定義された何かを使う場合、前方宣言や関数プロトタイプといった概念を導入する必要が生じる。例えば、あるソースファイルに次のように関数が定義されるとする。
この関数を別のソースファイルで参照するには、関数プロトタイプで宣言する必要がある。従って、次のようになる。
しかし、この単純な手法ではプログラマが add という関数の宣言を二箇所で管理しなければならなくなる。すなわち、実装が書かれたファイルとそれを使っているファイルである。その関数の定義が変更された場合、プログラマはプログラムのあちこちにある関数プロトタイプも全て更新しなければならない。
ヘッダファイルはこの問題を解決するものである。モジュール化されたヘッダファイルでは、そのモジュールが外部に公開する個々の関数、オブジェクト、データ型などの宣言をする。