ヘッダファイル【header file】インクルードファイル

別名  :include file/.hファイル

概要

ヘッダファイルとはC言語やC++言語などで用いられる、関数やデータ型定数などの宣言をまとめたファイル。標準のファイル拡張子はCが「.h」、C++が「.hpp」である。オブジェクトコードのみで提供されるライブラリなどの関数宣言のみが記載されたテキストファイルである。
ヘッダファイルのイメージ画像

C/C++には、ソースコードの指定した位置に外部ファイルの内容を展開する「インクルード」の仕組みが備わっている。ソースコードに「#include <ファイル名>」または「#include "ファイル名"」と記述すると、プリプロセッサコンパイル前にその位置へファイルの内容を埋め込む。

関数を別ファイルで定義する場合、呼び出し側のソースコードは関数名、引数の型、返り値の型といった情報をあらかじめ把握している必要がある。ヘッダファイルはこうした宣言のみを記述したファイルであり、インクルードすることでコンパイラリンカに必要な情報を与える。

ライブラリ関数の場合、実装がオブジェクトコードの形でのみ提供され、ソースコードが開示されないことがある。その場合でも、対応するヘッダファイルをインクルードすれば、コンパイラが関数呼び出しの整合性を検証でき、リンク時にリンカオブジェクトコード内の実装と対応付けを行う。「stdio.h」「stdlib.h」「string.h」などは標準Cライブラリが提供するヘッダファイルの例である。

標準には関数の宣言のほか、構造体クラスの定義、マクロ定義、定数宣言なども記述される。同じ標準が複数箇所からインクルードされると宣言が重複してコンパイルエラーになるため、条件付きコンパイルディレクティブを使ったインクルードガードが設けられるのが一般的である。C++20以降は「モジュール」(module)という仕組みが導入され、ヘッダファイルに代わる依存管理の手段として利用できるようになっている。

(2026.6.24更新)
 

他の辞典等による「ヘッダファイル」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。