C言語で外部関数を呼び出す方法は?
C言語で外部関数を利用する方法として、関数宣言の利用と関数ポインタの利用の2つが挙げられる。
- 外部関数を呼ぶ前に、関数を先に宣言する必要があります。関数の宣言により、コンパイラは関数の戻り値の型と引数の型を知ることになり、コンパイラは関数の呼び出しコードを正しく生成できるようになります。関数の宣言は、一般的に、関数を呼び出すファイルの先頭に置かれるか、ヘッダファイルを通じて導入されます。
サンプルコード: - 外部関数の宣言
void external_function(int arg1, int arg2);// 外部関数の呼び出し
int main() {
// 引数を渡して外部関数を呼び出す
external_function(1, 2);
return 0;
} - ファンクションポインタを使う:ファンクションポインタを定義し、外部関数のアドレスをファンクションポインタに代入して、そのファンクションポインタから外部関数を呼び出す方法。実行時に動的に異なる関数の呼び出しが必要な場合に利用する。
サンプルコード: - 外部関数の宣言は次のようになります。extern void external_function(int arg1, int arg2);
関数ポインタの型は次のようになります。
typedef void (*ExternalFunctionPtr)(int, int);
関数ポインタを使用して外部関数を呼び出すことができます。
int main() {
// 関数ポインタを定義して代入
ExternalFunctionPtr func_ptr = external_function;// 関数ポインタを使用して外部関数を呼び出す
(*func_ptr)(1, 2);
return 0;
}
場面に応じた使い分けが可能です。関数宣言では、呼び出す外部関数が決まっている場合には手軽に使えます。関数ポインタでは、呼び出す関数を動的に切り替える必要があってより柔軟に対応できます。