任何人都可以在C中解释这行代码:
void (*f)(void)= &fs ;
我试图在谷歌寻找解释,但我没有找到任何关于它。
它定义了一个变量’f’,它是一个指向函数’fs’的函数指针。 ‘fs’是一个不带参数的函数,返回什么都没有,所以看起来像:
void fs(void) { printf("in fs"); }
如果您在问题中的行后面运行以下代码
(*f)();
它会调用’fs’,你会得到一个“在fs”的打印
我在cdecl中添加了相同的语句,它显示了我
将
f
声明为函数(void)
返回void
指针 。
这就对了!! 换句话说,在这里,我们将类型的变量f
定义为一个函数指针,它不接受任何参数( (void)
)并返回一个void
。 我们用另一个函数fs
的地址初始化变量,这样, f
指向fs
函数,可以用来调用/调用fs
。
以上就是c/c++开发分享C中的“void(* f)(void)”是什么意思相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/522374.html