在以下代码行中,dup_func,free_func和clear_free func前面的星号是做什么的?
void *(*dup_func)(void *);
void (*free_func)(void *);
void (*clear_free_func)(void *);
答案 0 :(得分:9)
在您的示例中,这意味着它们是function pointers。
简而言之,他们允许你做这样的事情:
void example()
{
printf("Example called!\n");
}
void call_my_function(void (*fun)())
{
printf("Calling some function\n");
(*fun)();
}
/* Later. */
call_my_function(example);