void(*)(void *)的含义是什么?
我在“使用C掌握算法”一书的示例代码中遇到了这种类型
void list_init(List *list, void (*destroy)(void *data))
{
...
...
}
答案 0 :(得分:9)
这是一个函数指针。
void (*destroy)(void *data)
destroy
是一个指向函数的指针,该函数返回void
并以void*
作为参数。
cdecl.org是识别复杂C声明的有用工具。另外,请查看the spiral rule。
答案 1 :(得分:2)
在这种特定情况下,它的指针可以将任何函数强制转换为void(*)(void *),函数参数void *可以是任何类型。