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))
{
...
...
}