ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

C言語

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

投稿日:2014年11月4日 更新日:

前回は関数を使った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の関数の実行

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

新版 明解C言語 入門編
新版 明解C言語 入門編

posted with amazlet at 14.11.03
柴田望洋
ソフトバンククリエイティブ
売り上げランキング: 3,022

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

Twitter で
スポンサーリンク

-C言語
-

Copyright© GOISBLOG , 2016 AllRights Reserved.