Что означает звездочка перед именем функции? - PullRequest
4 голосов
/ 14 июля 2011

В следующих строках кода, что делает звездочка перед функциями dup_func, free_func и clear_free?

void *(*dup_func)(void *);
void (*free_func)(void *);
void (*clear_free_func)(void *);

1 Ответ

9 голосов
/ 14 июля 2011

В ваших примерах это означает, что они указатели на функции .

В двух словах, они позволяют вам делать такие вещи:

void example()
{
    printf("Example called!\n");
}

void call_my_function(void (*fun)())
{
    printf("Calling some function\n");
    (*fun)();
}

/* Later. */
call_my_function(example); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...