在最上面加一句这样的定义
成都创新互联公司是一家专注于成都做网站、成都网站建设与策划设计,宜兴网站建设哪家好?成都创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:宜兴等地区。宜兴做网站价格咨询:18982081108
typedef void*(*pFn)();
pFn可以这样理解:首先pFn是一个指针,指针指向一个函数(或者说pFn是一个函数指针),此函数返回一个无类迹辩型的指针。最终定义的变量及函数都是指针罢了,不过是指针的类型不同。所以在编译时会有警告,说指针类型不匹配。但对于程序来讲,都旅穗是可以在特定的上下文中使用的。
运行结果是
t1,t2交替出现。
其实void也可以换为其它的类型如int, double等
又想到一个很好的办法:
这次编译不会有警告,运行也不会出错。
示例代码如下所示
#include stdio.h
long t1();
long t2();
int main()
{
long(*fn)()= (long (*)()) t1 ;
while(1){
fn = (long (*)()) fn();
}
}
long t1()
{
printf("t1\n");
return (long)t2 ;
}
long t2()
{
printf("t2\拆州卜n");
return (long)t1 ;
}