関数ポインタを配列に入れる

クラスに関数を格納するみたいな使い方ができる。

http://stackoverflow.com/questions/252748/how-can-i-use-an-array-of-function-pointers

#include <stdio.h>

void silen1(){printf("silen1\n");}
void silen2(){printf("silen2\n");}
void silen3(){printf("silen3\n");}

void (*p[3])();

int main(void)
{
  p[0] = silen1;
  p[1] = silen2;
  p[2] = silen3;

  for(int i=0;i<3;i++){
    (*p[i])();
  }

  return 0;
}