我对后面的C函数,f_2()感到困惑.它是用.c文件写的,代码可以由GCC编译.此函数样式的名称是什么?如何解释这个函数的含义?这是标准的C还是某个GCC的分机?谢谢.
void f_1()
{
}
int (*f_2(void *param)) (int, void *) {
return 0;
}
int main()
{
f_2(NULL);
return 0;
}
我对后面的C函数,f_2()感到困惑.它是用.c文件写的,代码可以由GCC编译.此函数样式的名称是什么?如何解释这个函数的含义?这是标准的C还是某个GCC的分机?谢谢.
void f_1()
{
}
int (*f_2(void *param)) (int, void *) {
return 0;
}
int main()
{
f_2(NULL);
return 0;
}
函数f_2
接受void *
个参数,并返回指向函数的指针.
f_2
返回的指针是指向一个函数的指针,该函数接受两个参数(int
和void *
)并返回int
.
这相当于:
// Create a type-alias for a function pointer
typedef int (*function_pointer_type)(int, void *);
// Define a function that returns a pointer to a function
function_pointer_type f_2(void *)
{
return NULL;
}