[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ヘッダファイル (header file)

pointこの用語のポイント

pointインクルードファイルと似たようなものだよ

pointソースコードの部品だよ

pointC言語でよく出てくる表現だよ

スポンサーリンク

簡単に書くよ

ヘッダファイル (header file)とは

意味合い的には「インクルードファイル」と同じだけど、一般的なインクルードファイルより縛りがキツかったり注意すべき点が多かったりするんだよなぁ、のこと。
個人的には

C言語版インクルードファイル
だと思っています。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「インクルードファイル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

インクルードファイルは「ソースコードの一部を抜き出して別に分けたファイル」です。

プログラムを作るときには、まず人間語で書いたプログラムの元ネタを用意します。

ヘッダファイル

次に、元ネタをコンピュータさんが分かる言葉に翻訳します。
コンピュータさんが分かる言葉に翻訳された元ネタが、実際に動くプログラムです。

ヘッダファイル2

人間語で書いたプログラムの元ネタは「ソースコード」や「ソースファイル」と言います。
もう少し正確に説明すると、ファイルの中に書いてある内容が「ソースコード」です。
ソースコードが書いてあるファイルが「ソースファイル」です。
元ネタをコンピュータさんが分かる言葉に翻訳する作業は「コンパイル」と言います。

ヘッダファイル3

さて、ここでプログラムの元ネタファイル(ソースファイル)に注目してください。

ヘッダファイル4

プログラムの元ネタは、すべての内容を1つのファイルにまとめて書くことができます。

ですが、それなりに複雑なプログラムを作る場合は、それだと不便です。
ずらずらずらっと長くなりますからね。
読むのも大変、直すのも大変、テストするのも大変でしょう。

そこで、ある程度以上の規模のプログラムでは、ソースファイルを分けて作ります。

ヘッダファイル5

分けて作ったソースファイルは、コンパイルするときに合体させます。
具体的には、主となるファイルに対して、その他の部品ファイルを装着します。

ヘッダファイル6

この話における、主となるソースファイルに装着される部品ファイルが「インクルードファイル」です。

ヘッダファイル7

インクルード」には「含めるよ」的な意味があります。
主となるファイルに「含める」ファイルだから、インクルードファイルです。

以上を踏まえて、インクルードファイルと意味は同じなんだけど微妙にニュアンスが違う、いや、でもやっぱり同じかな、いや、でも違う気がするんだよなぁ、なファイルが「ヘッダファイル」です。

ヘッダファイル8

「ヘッダファイル」という呼び名は、主にC言語系のプログラミング言語(CとかC++とか)で出てきます。

実際のところ、インクルードファイルとヘッダファイルは、同じ物として扱われている場合が、ほとんどです。
「インクルードファイル(ヘッダファイル)」のような書き方も、よく見かけます。
そして、それが正しいのでしょう。

ですが、個人的には印象が違います。

インクルードファイルは、他のソースファイルから取り込まれるソースファイル全般を指す用語です。
インクルードファイルの中には、定数や宣言だけでなく、実際の処理を書くことも可能ですし、必要に応じて書きます。

それに対して、ヘッダファイルの中には、処理自体は(その気になれば書けるでしょうが)書きません。
定数や宣言などを書くためのファイルです。

あくまで私個人としてですが「ヘッダファイル」は「C言語系(CとかC++とか)の仕様に沿ったインクルードファイル」と解釈しています。
それ以外、一般的なプログラミング言語における呼び名は「インクルードファイル」との理解です。

image piyo2

一言でまとめるよ

まぁ「ヘッダファイル」って単語が出てきたら「(主にC言語系における)インクルードファイルのことなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク