任何人都可以在C中解释这行代码:
void (*f)(void)= &fs ;
我试图在google中查找解释,但我没有找到任何相关信息。
答案 0 :(得分:3)
它正在定义一个变量' f'这是一个指向函数' fs'的函数指针。 ' FS'是一个不带参数的函数,返回什么都没有,所以它可能看起来像:
void fs(void) { printf("in fs"); }
如果您在问题中的行之后运行以下代码
(*f)();
它会打电话给' fs'你会在fs"
中打印出#34;答案 1 :(得分:2)
我在 cdecl 中添加了相同的声明,它显示了我
将
f
声明为返回(void)
的函数void
的指针。
就是这样!!换句话说,在这里,我们将类型的变量f
定义为一个函数指针,它不接受任何参数((void)
)并返回void
。我们使用另一个函数fs
的地址初始化变量,以便f
指向fs
函数,并可用于调用/调用fs
。