C言語や C++ において、おもに宣言を記述するファイルのことです。
多くの場合、拡張子として .h を用います。C言語で書かれたヘッダファイルと、C++ で書かれたヘッダファイルを区別するために、C++ では拡張子 .hpp を使うこともあります。
ヘッダファイルは、ほかのファイルから取り込まれるかたちで使用されます。具体的には、#include というプリプロセッサディレクティブを使用して、プリプロセッサに指示を与えることによって、#include を記述した位置に、指定したヘッダファイルの中身をそのまま展開します。この「展開」のことをインクルードと呼びます。
// my_program.h
// 関数の宣言
// 定義は my_program.c にある。
extern int get_my_score(void);
#include "my_program.h" // my_program.h をインクルードする
// my_program.h の内容がここに展開される
int main(void)
{
// ...
// my_program.h のインクルードによって、
// この位置から get_my_score() の宣言が見えているので、
// 呼び出すことができる。
int score = get_my_score();
// ...
return 0;
}
C言語を使った詳しい解説は、C言語編第23章を参照。
ヘッダファイルの内容がそのまま展開されるだけなので、ヘッダファイルに記述するソースコードは、C言語や C++ の通常の文法規則に沿ったものであり、特別なルールがあるわけではありません。
ヘッダファイルとインクルードのしくみがあることによって、たとえば呼び出したい関数の宣言を、そのつど、それぞれのソースファイルに記述する必要がなくなります。これは記述量を減らすだけでなく、宣言のミスを防ぐ効果がありますし、定義の変更(引数の型や個数を変更したなど)に自動的に追従できる意味もあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |