Почему start_routine для pthread_create возвращает void * и принимает void *

Заголовок функции дляpthread_create выглядит так:

int pthread_create(pthread_t * thread, 
                   const pthread_attr_t * attr,
                   void * (*start_routine)(void *), 
                   void *arg);

Я все это понимаю, за исключением того, что указатель на функцию дляstart_routine имеет формуvoid* (*fpointer) (void*) а это значит, что требуется впустой указатель и возвращаетпустой указатель

Требуемый указатель void - это просто способ передать аргумент в start_routine, я получаю эту часть, но я нене понимаю, почему функция возвращает пустой указатель? Какой код даже заметит этот пустой указатель?

Ответы на вопрос(2)

Ваш ответ на вопрос