1. 程式人生 > >typedef定義回撥函式

typedef定義回撥函式

轉自:http://blog.csdn.net/todd911/article/details/11599657

1.typedef自定義函式指標型別:

#include <stdio.h>
typedef int (*fp_t)(char c);

int f0(char c) { printf("f0, c = %c\n", c); return 0;}
int f1(char c) { printf("f1, c = %c\n", c); return 1;}


int main()
{
        int ret;
        fp_t fp;
        fp = f0;
        ret = fp('a');
        fp = f1;
        ret = fp('x');
        return 0;
}
執行結果:

f0, c = a
f1, c = x

2. typedef自定義函式型別

#include <stdio.h>
typedef int fp_t(char c);

int f0(char c) { printf("f0, c = %c\n", c); return 0;}
int f1(char c) { printf("f1, c = %c\n", c); return 1;}

int main()
{
        int ret;
        fp_t* fp;
        fp = f0;
        ret = fp('a');
        fp = f1;
        ret = fp('x');
        return 0;
}

執行結果:

f0, c = a
f1, c = x