関数プロトタイプ(プログラムファイルを分ける)の作成例

前回は関数を使ったC言語の構文例を紹介しました。

【C言語】関数の動きをまとめる
C言語で関数の引数の動きをまとめる

関数を使うことにより、同じ処理がなんどもある場合、その処理を別に作成し、実行させるという動きになります。

それでは今回はその関数の処理を別のファイルで作成し、そのファイルとリンクを貼り関数を呼び出す構文の作成例をメモしていきます。

関数を複数ファイルに分割して実行する

それでは実際に関数が書かれた構文を別ファイルで作成し、プログラムを実行させます。
今回作成するファイルは以下となります。

  • メインで動くファイル「main.c」
  • 関数が書かれたファイル「func.c」

まずは「main.c」の作成例です。

#include <stdio.h>

void func(void);

int main(void)
{
    printf("関数の呼び出し前の実行\n");
    func();
    return 0;
}

もう一つが関数の構文を書いたファイル「func.c」の設定例です。

#include <stdio.h>

void func(void)
{
    printf("関数として呼び出されたfunc.cの関数の実行\n");
}

上記のように「mein.c」で関数「func」を呼び出すために別ファイル「func.c」を呼び出します。

そして以下が実行例となります。

関数の呼び出し前の実行
関数として呼び出されたfunc1.cの関数の実行

関数プロトタイプをヘッダファイルで分割する

次に「func.h」というファイルを追加します。func関数を呼び出しているmain関数が書かれた「main.c」でfunc.hをincludeします。

この時の「#include」分のファイル指定は、括弧<>とダブルクォーテーション””で検索方法が異なります。

  • #include <ファイル名>
    ⇨標準ヘッダファイルが格納されているディレクトリ内を検索(stdio.hなど)
  • #include “ファイル名”
    ⇨ソースファイルがあるディレクトリ内を検索し、ファイルが見つからない場合、標準ヘッダファイルが格納されているディレクトリを検索

ということで「func.h」を追加したプログラムの構文を書きます。

func.h

void func(void); /* func関数のプロタイプ */

main.c

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

int main(void)
{
    printf("関数の呼び出し前の実行\n");
    func();
    return 0;
}

func.c

#include <stdio.h>

void func(void)
{
    printf("関数として呼び出されたfunc.cの関数の実行\n");
}

実行結果

関数の呼び出し前の実行
関数として呼び出されたfunc1.cの関数の実行

こんな感じで複数のファイルに分割し、プログラムを実行することができるってことみたいです。
今日も一つ勉強しやした。

以上です。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!