Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語で独自のヘッダーファイルを作成する方法

C言語では、自分で作成した関数をヘッダーファイルとしてまとめ、他のプログラムから再利用することができます。ここでは、独自のヘッダーファイル「sub.h」を作成し、メインプログラムから呼び出す手順を解説します。

独自ヘッダーファイル作成の手順

  • まず、関数のコードを記述し、「sub.h」という名前で保存します。
  • 次に、メインプログラム「subtraction.c」を作成します。その際、以下の点に注意してください。
    • #include ディレクティブで新しいヘッダーファイルを読み込みます。
    • 標準ライブラリのように <sub.h> と書くのではなく、"sub.h" とダブルクォーテーションで囲んで指定します。
    • これにより、sub.h 内で定義されたすべての関数が利用可能になります。
    • メインプログラム内で sub() 関数を直接呼び出せます。
    • 「subtraction.c」と「sub.h」は必ず同じフォルダ(ディレクトリ)に配置してください。

ヘッダーファイル(sub.h)のコード例

以下は、2つの整数の差を返す sub() 関数を定義したヘッダーファイルです。

int sub(int m, int n) {
    return (m - n);
}

メインプログラム(subtraction.c)のコード例

#include <stdio.h>
#include "sub.h"

void main() {
    int a = 7, b = 6, res;
    res = sub(a, b);
    printf("Subtraction of two numbers is: %d", res);
}

ポイント解説

  • #include "sub.h" のようにダブルクォーテーションを使うと、コンパイラは現在のディレクトリからヘッダーファイルを探します。一方、<stdio.h> のように山括弧を使うと、標準インクルードパスから検索されます。
  • 規模が大きくなる場合は、ヘッダーファイルに関数のプロトタイプ宣言のみを記述し、実体は別の .c ファイルに分離するのが一般的なベストプラクティスです。
  • また、二重インクルードを防ぐために、#ifndef / #define / #endif によるインクルードガードを追加することをおすすめします。

実行結果

「subtraction.c」をコンパイルして実行すると、以下の出力が得られます。

Subtraction of two numbers is: 1

このように、独自のヘッダーファイルを作成すれば、汎用的な関数を複数のプログラムで簡単に共有でき、コードの保守性と再利用性が大幅に向上します。

  1. Rubyで学ぶ!シーザー暗号エンコーダーの自作方法

    シーザー暗号(Caesar cipher)をご存知ですか? これは、ユリウス・カエサルが敵に知られないよう秘密のメッセージを隠すために実際に使った暗号化手法です。 シーザー暗号は、最も原始的な暗号技術の一つとされています。 その仕組みの核心は、アルファベットの文字をx個分だけずらす(ローテートする)というシンプルなアイデアにあります。 例えば x = 1 の場合、「A」は「B」に、「C」は「D」に変換されます。以下同様です。 では、これをコードで実装するにはどうすればよいのでしょうか? 答えは意外と簡単です。文字は数値(ASCIIコード)として表現できるという事実を利用すれば、文字の回転処理

  2. ブラウザ拡張機能の作り方を徹底解説【サンプルプロジェクト付き】

    この記事では、ブラウザ拡張機能とは何か、どのように動作するのか、そして自分でオリジナルの拡張機能を作る方法について解説します。記事の最後には、実際に「ワンクリックでコードスニペットをクリップボードにコピーできる」拡張機能を作成します。とても楽しい内容ですよ!この記事を読み進めるには、以下が必要です。JavaScriptの基本的な知識Firefoxブラウザ(他のブラウザでも可)ブラウザ拡張機能とは?ブラウザ拡張機能とは、ブラウザに追加することでその機能を拡張し、閲覧体験を向上させるツールのことです。例えば、デバイスにインストールした広告ブロッカーを思い浮かべてください。Webを閲覧する際に広告を