typedef void(*Func)(void)的用途
用法的好处:
定义一个函数指针类型。
例子:
有三个类型相似或功能相似的函数:
void TASK1(void) { printf("I’m TASK1"); }//函数定义
void TASK2(void) { printf("I’m TASK2"); }//函数定义
void TASK3(void) { printf("I’m TASK3"); }//函数定义
... ...
typdef void (*func)(void);//声明
至此,我们就已经构造好了通用函数
还需要定义一个调用的函数
void gTASK(char i)
{
func vTask[] = {&TASK1, &TASK2, &TASK3};
func fun = vTask[i];
(*fun)();
}
使用gTASK来执行:
执行gTASK(1)会打印出 I’m TASK1
执行gTASK(2) 会打印出I’m TASK2
执行gTASK(3) 会打印出I’m TASK3
PS:typdef void (*func)(void);还有很多好的用处,操作系统源码都用的很巧妙