PR

【C・C++】ヘッダファイル・ソースファイルとは?【ファイルの構成】

アイキャッチ C++
この記事は約3分で読めます。

ヘッダファイル・ソースファイルに関する記事です。
【#pragma once】などについても解説しています。

のんびり丸

WEBアプリの開発等をしています。
日々の学習の備忘録として運営していこうと思います。

のんびり丸をフォローする

ヘッダファイル

ヘッダファイルとは、拡張子が【.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】と記述するだけです。

このように記述することで、一度読み込んだヘッダファイルは読み込まれないようになります。

ファイルの使い分け

クラスの定義・インライン関数をヘッダファイルに記述し、関数の定義をソースファイルに記述することが多いようです。

タイトルとURLをコピーしました