C言語入門:関数ポインタ
ここでは、ポインタに関して理解するために、関数ポインタを扱ってみたいと思います。
サンプル
#include <stdio.h>
void
func()
{
printf("function\n");
}
int
main()
{
void (*ptr)();
ptr = &func;
(*ptr)();
return 0;
}
上記例を実行すると「function」という文字列が表示されます。
上記サンプルプログラムでは、関数ポインタとして「ptr」を宣言しています。 その関数ポインタに「func」という関数へのポインタを代入しています。 そして「*ptr」を利用して「ptr」が指す先、func()を実行しています。
最後に
最初のうちは関数へのポインタを使って何をするのか、想像がつきにくいと思いますが、変数だけではなく関数もポインタとして扱えるということをとりあえず覚えていただければと思います。
おまけ