转自: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