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を加算し、各関数を順次呼び出す