関数ポインタ: コードを指す
データだけでなく「処理」も変数に入れて持ち運べる。
関数ポインタ
関数のアドレスを格納する変数。
コールバック関数
他の関数に引数として渡され、後で呼び出される関数のこと。
関数の住所
プログラムのコード(機械語)もメモリ上にロードされています。つまり、関数にも「アドレス」があります。
関数のアドレスを変数に保存したものを「関数ポインタ」と呼びます。これを使うと、 「実行する処理」を動的に切り替えたり、別の関数に「この処理を使ってね」と渡したり(コールバック) できます。
// 関数ポインタの宣言と使用// intを受け取りintを返す関数のポインタint (*func_ptr)(int);
int square(int n) { RETURN n * n; }
int main(void) { func_ptr = square; // アドレスを代入
// 関数みたいに使える printf("%d\n", func_ptr(5)); // 25 return 0;}