c语言空函数指针 c语言的空指针
导读:C语言函数指针定义 在最上面加一句这样的定义typedef void*(*pFn ( ;pFn可以这样理解:首先pFn是一个指针,指针指向一个函数(或者说pFn是一个函数指针 ,此函数返回一个无类迹辩型的指针。最终定义的变量及函数都是指针罢...
C语言函数指针定义
在最上面加一句这样的定义
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 ;
}
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: c语言空函数指针 c语言的空指针
本文地址: https://pptw.com/jishu/297017.html