異なるファイル間のC言語における関数の呼び出し方
C言語の異なるファイル間では、関数の呼び出しによって呼び出しを行うことができる。
最初に、呼び出し元のファイルで関数を定義します。そして、その関数を呼び出すファイルでは、呼び出し元関数が定義されているファイルのヘッダファイルをインクルードし、呼び出しが必要な場所で直接関数を呼び出します。
例えば、file1.cとfile2.cという二つのファイルがあるとします:
ファイルfile1.cには、2つの整数を足すaddという関数が定義されています。
// file1.c
int add(int a, int b) {
return a + b;
}
file1.c内のadd関数を、file2.c内で呼び出す必要がある。
// file2.c
#include "file1.h"
int main() {
int result = add(3, 4);
return 0;
}
file2.cでは、file1.cの関数宣言を記載したヘッダファイルfile1.hを含め、add関数を呼び出す時は直接名前を指定して呼び出します。
別ファイルで関数を呼び出す場合は、コンパイルとリンクが必要。ファイル2つをコンパイル・リンクするにはgccコマンド
gcc -o output file1.c file2.c
コンパイルとリンクに成功すると、実行可能ファイルを動かして関数を呼び出すことができる。実行可能ファイルのファイル名はoutput。