ネットワークエンジニア系ブログ。健康、エンターテイメント、映画・ドラマ、本、キッズ系、FXまで!お役立ち情報を紹介!

GOISBLOG

C言語

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

更新日:

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

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

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

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


Linuxアカデミーの資料が無料請求
リナックスアカデミー【公式サイト】

自宅で無料でオンラインブートキャンプができるようになりました!
オンラインブートキャンプ無料体験

IT系エンジニアNo1転職サイト
レバテックキャリア【公式ホームページ】

スポンサーリンク


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

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

  • メインで動くファイル「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の関数の実行

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

○エンジニアの道を目指すならこちらもおすすめです!
⇒ネットワークエンジニアへの技術手順書
⇒サーバーエンジニアへの構築手順書


スポンサーリンク

この記事が気に入ったら
いいね!しよう

Twitter で



-C言語
-

Copyright© GOISBLOG , 2017 All Rights Reserved.