研究などでは普通使わないから、全然分からないです。 ということで、いままでに分かったことをメモしておきます。
#include <stdio.h> int global; int func1(void) { return 1; } int func2(void) { return 2; } int func3(void) { return 3; } int *func100(void) { global = 100; return &global; } int main(void) { int i, k; int *j; int (*f[3])(void); /* f is array of pointer to function returning int */ int (*g)(void); /* f is pointer to function returning int */ f[0] = func1; f[1] = func2; f[2] = func3; g = func1; for(i=0 ; i<3 ; i++){ printf("%d\n", (*f[i])()); printf("%d\n", f[i]()); } printf("%d\n", g()); j = func100(); k = *func100(); printf("%d %d\n", *j, k); return 0; }
これをめちゃめちゃ参考にしました。