初识typedef void(*Func)(void)mp.weixin.qq.com/s/5tNdyrV25-CGzhRiriw7ZA void (*Fun)(void);假如就只是写上这样的一句代码,显然这就是定义了一个变量Fun,这个Fun变量是一个指针,指向返回值和参数都是空的函数的指针。而typedef void(*Func)(void)是函数指针的类型定义,代表了一种新的类型。作用是...
那么,`typedef void(*Func)(void)`为什么能这样使用呢?这实际上定义了一种特殊类型的函数指针,它指向没有返回值且没有参数的`void`类型函数。在处理器执行上下文切换或转移指令时,它会保护相同的现场,处理相同形式的参数,这样就能像引用数据一样使用函数。这种用法在编程中非常有用,尤其在函数库的...
上面说到typedef void(*Func)(void)可以使得代码更可移植性、可读性更强,我们举个例子,有三个类型相似或功能相似的函数: //构造3个通用函数 void TEST1(void) {printf("test1\n"); }//函数定义 void TEST2(void) {printf("test2\n"); }//函数定义 void TE...