C言語・C++言語では関数もポインタ変数に入れることができ、またそれを関数として使うこともできます
これにより関数自体をオブジェクトのように受け渡しすることが可能になります
ただし関数ポインタは戻り値の型と引数の個数と型が一致した関数しか格納できません
なので普通のポインタ変数の宣言とは少し違った形になります
関数ポインタの宣言
戻り値の型 (*関数ポインタ変数) (引数の型1 引数, 引数の型2 引数, ・・)
例
int (*ptf) (int x);
例
#include <stdio.h> #include <stdlib.h> int add2(int x, int y) { return x + y; } int main (void) { int (*ptf) (int a, int b); ptf = add2; int ans = ptf(5900,20000); printf("%d\n",ans); return 0; }
コメントをかく