.H

H ファイル

C/C++ Header File
質問する
クイック回答

.h ファイルは C/C++ のヘッダーファイルです。これは、プログラム全体で共有される関数プロトタイプ、型定義、定数、およびマクロを保持するプレーンテキストのソースコードです。直接実行することはできません。VS Code や Notepad++ などのテキストエディタまたはコードエディタで開いてください。単なるテキストであるため表示しても安全ですが、信頼できないプロジェクトのコードは、安全な環境でのみコンパイルするようにしてください。

開発元: N/A (C/C++ language convention; ISO/IEC standards) カテゴリ: 開発用ファイル オープンスタンダード MIME: text/x-c
対応OS Windows macOS Linux
関連: .DO · .MD · .HEX · .XSD

このページの内容

19k+ 個の拡張子を索引済み
最終確認日:Jul 31, 2026

ファイルの種類がわかりませんか?

ファイルを識別ツールにドロップしてください。最初の数バイトを読み取って形式を特定します。

ファイルを識別する

H ファイル形式とは?

.h ファイルは、C、C++、または Objective-C 言語で作業する際に作成されます。

.h ファイルの内容

拡張子が .h のファイルには、関数の 宣言またはマクロ が含まれており、次のようなデータを保持できます:

  • 変数および定数の宣言
  • 構造体(struct)、列挙型(enum)、および型定義
  • 他のヘッダーファイルへの #include 参照

実務上、.h ファイルは共有宣言(複数の .c および .cpp ソースファイル間で頻繁に参照されるコード)を保持するために使用されます。これにより、ソースコードの可読性が向上し、プログラマーの効率が高まります。.h ファイルで定義された関数やマクロは、プロジェクト間で再利用可能になり、コードの共有を容易にします。また、インターフェースが単一の既知の場所に保存されるため、コードの更新も容易になります。

.h ファイルはどのように使用されますか?

共有宣言を .h ファイルに保存することで、プロジェクトのソースコードへのアクセスや追加が容易になります。コンパイル中、C プリプロセッサは各 #include ディレクティブを展開し、コンパイラが処理を続行する前にヘッダーの内容を翻訳単位にコピーします。<stdio.h><vector> などのシステムヘッダーはコンパイラに付属しており、プロジェクトと一緒に配布する必要はありません。一方、プロジェクト固有の .h ファイルはソースツリーの一部であり、ソースと一緒に移動します。多くの C++ プロジェクトでは、C++ 専用のヘッダーをプレーンな C の .h ヘッダーと区別するために .hpp ファイルも使用しますが、どちらも同じ #include メカニズムに依存しています。

セキュリティと安全性

リスク: LOW

.h ヘッダーはプレーンテキストのソースコードであり、それ自体で実行されることはないため、エディタで開いたり読んだりすることは安全です。現実的な注意点は、ファイル形式ではなく「コンパイル」についてです。信頼できないプロジェクトのヘッダー(およびソース)コードには、プログラムをビルドして実行したときにのみ動作する悪意のあるロジックが含まれている可能性があります。そのため、不明な C/C++ コードの確認やビルドは、サンドボックスや仮想マシン内で行い、信頼できるソースからのものだけにしてください。単にテキストを表示するだけならリスクはありません。(ヘッダーはシステムファイルを #include したり、依存コードのコンパイル方法を変えるマクロを定義したりすることもありますが、これは開発者に関連する事項であり、ファイル単体でのセキュリティ上の脅威ではありません。)

形式の詳細

概要
正式名称C/C++ Header File
開発元N/A (C/C++ language convention; ISO/IEC standards)登場時期 1972 (C language; #include header convention from early C)
MIME タイプtext/x-c
タイププレーンテキスト・ソースコード・ヘッダー (text)
標準規格オープン・ロイヤリティフリー
この拡張子は以下でも使用されています…
  • Objective-C / Objective-C++ ヘッダー - Apple の Objective-C も .h ヘッダーを使用し(例:@interface クラスの宣言)、Xcode やテキストエディタで同様に開かれます。
  • ch / 各種アプリデータ - ごく一部のニッチなプログラム(および古いゲーム/データツール)が、ソース以外のデータに .h を再利用しています。拡張子ではなく、ファイルの内容で判断してください。

H ファイルを開くプログラム

Windows4 apps
Microsoft Visual Studio フリーミアム フル機能の IDE(無料の Community 版あり)。プロジェクトまたは .h を開いて、編集、定義のナビゲート、C/C++ コードのビルドを行います。
Windows Notepad 標準搭載 組み込みのプレーンテキストエディタ。構文ハイライトはありませんが、.h を開いて内容を確認するのに適しています。
Notepad オープンソース 無料のエディタ。C/C++ の構文ハイライト付きで .h を読み取り/編集できます。
Visual Studio Code 無料 無料の軽量コードエディタ。C/C++ 拡張機能を使用すると、構文ハイライト、ナビゲーション、IntelliSense を利用して .h を開けます。
macOS3 apps
TextEdit 標準搭載 組み込みエディタ。「フォーマット > 標準テキストにする」を使用して、.h をプレーンテキストとして開きます。ハイライトはありません。
Apple Xcode 無料 Apple の IDE(Mac App Store で無料)。プロジェクト内で .h を開き、C/C++/Objective-C ヘッダーを編集します。
Visual Studio Code 無料 無料の軽量コードエディタ。C/C++ 拡張機能を使用すると、構文ハイライト、ナビゲーション、IntelliSense を利用して .h を開けます。
Linux4 apps
gedit オープンソース GNOME のシンプルなテキストエディタ。ハイライト付きで .h を表示/編集できます。
GNU Emacs オープンソース Emacs (cc-mode) で .h を開き、完全な C/C++ サポートで読み取り/編集します。
Visual Studio Code 無料 無料の軽量コードエディタ。C/C++ 拡張機能を使用すると、構文ハイライト、ナビゲーション、IntelliSense を利用して .h を開けます。
Vim / Neovim オープンソース ターミナルで «vim file.h» を実行し、C/C++ の構文ハイライト付きで編集します。

技術的詳細

詳細仕様
ファイルタイププレーンテキスト・ソースコード・ヘッダー
MIME タイプtext/x-c
ファイルシグネチャ (マジックバイト)なし - プレーンテキスト。拡張子と内容によって識別されます
典型的な開始構造二重インクルードを防止するためのインクルードガード(`#ifndef NAME_H` / `#define NAME_H`)または `#pragma once`
プリプロセッサの役割コンパイル前に C プリプロセッサによってインライン展開されます。`.h` ファイルは直接コンパイルされません
インクルード構文システムヘッダーは山括弧(例:`<stdio.h>`)、プロジェクトヘッダーは二重引用符(例:`"mylib.h"`)を使用します
典型的な内容関数宣言、マクロ定義、構造体および列挙型の定義、typedef エイリアス、および(C++ では)クラス宣言
関連する拡張子`.c`, `.cpp`, `.hpp`, `.hxx`, `.hh`, `.cc`, `.cxx`
C++ リンケージC++ コードに含まれる C ヘッダーは、名前マングリングを防ぐために `extern "C" { }` ブロックで囲まれることがよくあります
文字エンコーディングASCII(歴史的な標準)。現代のコンパイラでは、識別子やコメントに UTF-8 が広く受け入れられています
多重インクルード保護インクルードガードまたは `#pragma once` により、同じヘッダーが翻訳単位ごとに一度だけ処理されるようにします
標準 C ライブラリヘッダー`<name.h>` の慣習に従います(例:`<stdio.h>`, `<stdlib.h>`, `<string.h>`)
テンプレート定義 (C++)関数およびクラスのテンプレートはコンパイル時にインスタンス化されるため、ヘッダーファイル内で完全に定義する必要があります
リリース日1972 (C language; #include header convention from early C)
オープンスタンダードはい · ロイヤリティフリー
仕様書en.cppreference.com

H の変換

コミュニティ Q&A

ユーザーからの質問
質問する
H ファイルを扱うユーザーからヘルプを得られます。OSやソフトウェアのバージョンなど、具体的に記載してください。
アカウント不要 ・ 通常1日以内に回答されます

まだ質問はありません。H ファイルについて最初の質問をしてみましょう。

よくある質問

.h ファイルを開くにはどうすればよいですか?
無料の VS Code、Notepad++ (Windows)、Vim/Emacs/gedit (Linux)、Xcode (Mac) など、任意のテキストエディタまたはコードエディタで開くことができます。Windows のメモ帳や macOS の TextEdit でもテキストを表示できます。これはプレーンテキストのソースコードです。
.h ファイルとは何ですか?
C/C++ のヘッダーファイルです。他のソースファイルが #include を介して共有する宣言(関数プロトタイプ、型、定数、マクロ)を含むプレーンテキストのソースです。これはプログラムのコードの一部であり、ドキュメントや実行可能なプログラムではありません。
.h ファイルと .c(または .cpp)ファイルの違いは何ですか?
ヘッダー(.h)は宣言とインターフェースを保持し、.c/.cpp は実際の定義(実際の処理を行うコード)を保持します。ソースファイルはヘッダーを #include することで、全員が同じ定義に同意するようにします。
.h ファイルをダブルクリックして実行したり開いたりできますか?
いいえ。ヘッダーは単独では何もしません。C/C++ コンパイラが、それを #include しているソースファイルと一緒にビルドするときにのみ意味を持ちます。ダブルクリックすると、通常はテキストエディタで開こうとします。
«fatal error: xxx.h: No such file or directory» というエラーが出るのはなぜですか?
コンパイラがコードで #include しているヘッダーを見つけられません。ファイルが存在しないか、そのフォルダがインクルードパスに含まれていません。必要なライブラリや SDK をインストールするか、ビルド設定にそのインクルードディレクトリを追加してください。
.h と .hpp の違いは何ですか?
どちらもヘッダーです。.h は伝統的な C(および共有の C/C++)の拡張子です。.hpp/.hxx/.hh は、一部のプロジェクトでヘッダーを C++ 専用としてマークするために使用される慣習です。コンパイラはこれらを同じように扱います。拡張子の選択はスタイルの問題です。

参考文献

1cppreference - C++ standard library headersen.cppreference.com
2cppreference - Source file inclusion (#include)en.cppreference.com

さらに探索

データベース全体から

今週のトップ拡張子

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.PARTPartial Download File
4.MDMarkdown Document
5.RPMSGRestricted Permission Message
6.CRDOWNLOADChrome Partial Download File
7.NOMEDIAAndroid No-Media Marker File
8.PRDXSoftMaker Presentations Document
9.PRO6XProPresenter 6 Bundle File
10.SWFSmall Web Format (Shockwave Flash)

関連する拡張子

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

無料ファイルツール

ブラウザで動作するファイル識別および画像変換ツール。すべてお使いのデバイス上で実行されます。

ツールボックスを開く

ファイル拡張子を A-Z で閲覧