Possible Duplicate:
What does “void *(*)(void *)” mean in c++?
What does the type void(*)(void *) mean?
I came across this type in the example code for the book “Mastering Algorithms with C”
void list_init(List *list, void (*destroy)(void *data))
{
...
...
}
It’s a function pointer.
destroyis a pointer to a function which returnsvoidand takes avoid*as an argument.cdecl.org is a useful tool for discerning complex C declarations. Also, take a look at the spiral rule.