我想定义一个数组,该数组的每一个元素代表一个函数,例如我调用数组g(1),就等于调用函数functionxx(),请问,这有可能吗?要怎样实现?

解决方案 »

  1.   

    typedef unsigned char ( * pfun )();
    typedef struct tagBUTTON
    {
    unsigned char *caption; //标题
    unsigned char l; //距离屏幕左边多少列
    unsigned char t; //距离屏幕上边多少行
    unsigned char w; //显示宽度不足用空格补齐
    Button next; //下一个按钮的指针
    Button last; //前一个按钮的指针
    pfun onkey[ 4 ]; //按钮响应事件函数的指针
    //0--响应光标键上
    //1--响应光标键下
    //2--响应回车
    //3--响应ESC
    }CButton;
    ..............................
    button_sysconfig[ 0 ].onkey[ 2 ] = menu_sysconfig0_RETURNdown;
    ..............................
    unsigned char
    menu_sysconfig0_RETURNdown()
    {
    unsigned char temp[ 18 ];
    .....
    }
      

  2.   

    举个例子
    //原型
    int fun(int a)
    {
      return a;
    }//定义指针
    int (* pfun[2])(int)={fun,fun};//调用
     int x=pfun[0];
     int y=pfun[1];
      

  3.   

    刚才的函数调用有误,应为
    int x=pfun[0](3);
    int y=pfun[1](5);