ヘッダーファイル
CoddyのCジャーニー「Object Oriented Programming」セクションの一部 — レッスン 1/61。
Cプログラムが大きくなるにつれて、すべてのコードを1つのファイルに保持することは管理しきれなくなります。ヘッダーファイルは、関数が何をするかを、それがどのように行われるかから分離することで、コードを整理する方法を提供します。
ヘッダーファイル(.h 拡張子を持つもの)には、関数宣言(プロトタイプとも呼ばれます)が含まれています。これらの宣言は、実際の定義を提供することなく、関数が存在することとその関数が受け取る引数をコンパイラに伝えます。
// math_utils.h
int add(int a, int b);
ヘッダーファイルからの宣言を使用するには、#include ディレクティブを使用してそれを含めます。自作のヘッダーの場合は、山括弧の代わりに二重引用符を使用します:
// main.c
#include "math_utils.h"
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3);
return 0;
}
主な違いは次のとおりです。#include <stdio.h> はシステムディレクトリを検索しますが、#include "math_utils.h" は最初にプロジェクトフォルダを検索します。この使い分けにより、複数のファイルで同じ関数宣言を共有できるようになり、コードベースのナビゲーションやメンテナンスが容易になります。
チートシート
ヘッダーファイル(.h 拡張子を持つ)には、実装を提供せずに関数が存在することをコンパイラに伝える関数宣言が含まれています:
// math_utils.h
int add(int a, int b);
独自のヘッダーファイルをインクルードするには、二重引用符を使用します:
// main.c
#include "math_utils.h"
int add(int a, int b) {
return a + b;
}
#include <stdio.h> はシステムディレクトリを検索しますが、#include "math_utils.h" は最初にプロジェクトフォルダを検索します。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。