前回は関数を使ったC言語の構文例を紹介しました。
【C言語】関数の動きをまとめる
C言語で関数の引数の動きをまとめる
関数を使うことにより、同じ処理がなんどもある場合、その処理を別に作成し、実行させるという動きになります。
それでは今回はその関数の処理を別のファイルで作成し、そのファイルとリンクを貼り関数を呼び出す構文の作成例をメモしていきます。
関数を複数ファイルに分割して実行する
それでは実際に関数が書かれた構文を別ファイルで作成し、プログラムを実行させます。
今回作成するファイルは以下となります。
- メインで動くファイル「main.c」
- 関数が書かれたファイル「func.c」
まずは「main.c」の作成例です。
01 02 03 04 05 06 07 08 09 10 | #include <stdio.h> void func( void ); int main( void ) { printf ( "関数の呼び出し前の実行\n" ); func(); return 0; } |
もう一つが関数の構文を書いたファイル「func.c」の設定例です。
1 2 3 4 5 6 | #include <stdio.h> void func( void ) { printf ( "関数として呼び出されたfunc.cの関数の実行\n" ); } |
上記のように「mein.c」で関数「func」を呼び出すために別ファイル「func.c」を呼び出します。
そして以下が実行例となります。
1 2 | 関数の呼び出し前の実行 関数として呼び出されたfunc1.cの関数の実行 |
関数プロトタイプをヘッダファイルで分割する
次に「func.h」というファイルを追加します。func関数を呼び出しているmain関数が書かれた「main.c」でfunc.hをincludeします。
この時の「#include」分のファイル指定は、括弧<>とダブルクォーテーション””で検索方法が異なります。
- #include <ファイル名>
⇨標準ヘッダファイルが格納されているディレクトリ内を検索(stdio.hなど) - #include “ファイル名”
⇨ソースファイルがあるディレクトリ内を検索し、ファイルが見つからない場合、標準ヘッダファイルが格納されているディレクトリを検索
ということで「func.h」を追加したプログラムの構文を書きます。
func.h
1 | void func( void ); /* func関数のプロタイプ */ |
main.c
1 2 3 4 5 6 7 8 9 | #include <stdio.h> #include "func.h" int main( void ) { printf ( "関数の呼び出し前の実行\n" ); func(); return 0; } |
func.c
1 2 3 4 5 6 | #include <stdio.h> void func( void ) { printf ( "関数として呼び出されたfunc.cの関数の実行\n" ); } |
実行結果
1 2 | 関数の呼び出し前の実行 関数として呼び出されたfunc1.cの関数の実行 |
こんな感じで複数のファイルに分割し、プログラムを実行することができるってことみたいです。
今日も一つ勉強しやした。
以上です。
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメント