ヘッダファイル・ソースファイルに関する記事です。
【#pragma once】などについても解説しています。
ヘッダファイル
ヘッダファイルとは、拡張子が【.h】のファイルのことです。
ヘッダファイルでは主に、変数・関数・定数・型の宣言や定義を行います。
後述のソースファイルにヘッダファイルを組み込むことで、ヘッダファイルに記述した内容を利用することが出来るようになります。
また、ヘッダファイル内でヘッダファイルを組み込むことも可能です。
ヘッダファイルの組み込み方
標準搭載されているヘッダファイル
#include <ファイル名>
自作のヘッダファイル
#include "ファイル名"
ソースファイル
ソースファイルとは、拡張子が【.c/.cpp】のファイルのことです。
ソースファイルには、実際にプログラムを実行するための命令等を記述します。
ファイルの分割
一つのファイルに全ての処理を記述するのは、可読性・メンテナンス性の面で好ましくないです。
なので、通常は機能ごとにファイルを分割することが多いです。
各ソースファイルで共通して利用している宣言や定義は、ヘッダファイルを利用することで、効率良くコーディングすることが出来るようになります。
使用例
実際にヘッダファイルを利用して、プログラムを記述してみます。
ヘッダファイルを使用しない例
コーディング例①
#include <stdio.h> // printf()を使用するために必要
/**********************
関数の定義
a:円の半径【mm】
x:円の面積【mm²】
**********************/
int Circle(int a) // 円の面積を求める
{
int x;
x = a * a * 3.14;
return x;
}
/**********************
関数の呼び出し
**********************/
int main()
{
int a;
a = Circle(10);
printf("%d\n", a);
return 0;
}
出力
314
ヘッダファイルを使用した例
ヘッダファイル
『Function1.h』という名称のヘッダファイルです。
#pragma once
int Circle(int a);
int a;
ソースファイル
#include <stdio.h> // printf()を使用するために必要
#include "Function1.h"
/**********************
関数の定義
a:円の半径【mm】
x:円の面積【mm²】
**********************/
int Circle(int a) // 円の面積を求める
{
int x;
x = a * a * 3.14;
return x;
}
/**********************
関数の呼び出し
**********************/
int main()
{
a = Circle(10);
printf("%d\n", a);
return 0;
}
出力
314
#pragma once
プログラミングをしていると、同じヘッダファイルを複数回組み込んでしまうことがあります。
同じファイルを複数回読み込んでしまうと、予期せぬエラーの原因になってしまいます。
これを防ぐために使用されるのが、【#pragma once】です。
使い方は簡単で、ヘッダファイルの先頭に【#pragma once】と記述するだけです。
このように記述することで、一度読み込んだヘッダファイルは読み込まれないようになります。
ファイルの使い分け
クラスの定義・インライン関数をヘッダファイルに記述し、関数の定義をソースファイルに記述することが多いようです。