C言語ポインタと列挙ノート

4274 ワード

#include 

typedef enum{
     
    frist,
    second,
    third,
    count
}NUMBER;

typedef void (*taskfun)(char data);
void task1(char dat)
{
     
    printf("task1 = %d
"
,dat); } void task2(char dat) { printf("task2 = %d
"
,dat); } void task3(char dat) { printf("task3 = %d
"
,dat); } taskfun tasktable[3] = { task1,task2,task3}; int main(void) { NUMBER i; for(i = frist;i < count;i++) { tasktable[i](i+7); } return 0; }

列挙タイプを定義し、関数ポインタを定義し、関数ポインタ配列を定義して呼び出された関数を格納し、mainでNUMBERの変数iを定義し、対応する値を列挙してiを加算し、各関数を順次呼び出す