函數指針的結構體列表的使用

typedef int (*FUNCTION)(int  param);
typedef struct state
{
   int  index;
   char *activeStr;
   FUNCTION function;
}state_st;
int value(int t)
{
     return t;
}
int square(int t)
{
     return t*t;
}
int cube(int t)
{
     return t*t*t;
}
state_st  st[]=
{
 { 1,"輸出值",value},
 { 2,"平方值",square},
 { 3,"平方值",cube},
};
int main()
{
    for(int i=0;i<sizeof(st)/sizeof(st[0]);i++)
    {
        printf("運行第幾個函數:%d\r\n",st[i].index);
        printf("函數功能描述:%s \r\n", st[i].activeStr);
        printf("函數運算值: %d \r\n",st[i].function(st[i].index));
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章