转换为函数指针?

遇到过下面显示的代码行,我认为它可能是一个函数指针的转换,返回void并获取一个void指针,这是正确的吗?

(void (*)(void *))SGENT_1_calc 

是的,这是正确的。 我发现它不是很易读,所以我建议声明要指出的函数的签名:

  typedef void sigrout_t(void*); 

我也有编码约定 ,以rout_t结尾的类型是函数签名的类型。 你可以用它来命名,因为_t是Posix 保留的后缀

后者我正在施法,也许就是把它称之为

  ((sigrout_t*) SGENT_1_calc) (someptr); 

是的,function应该是这样的

 void func(void*); 

但是声明错过了一个目标,因为无所作为是无用的。 所以应该是这样的

 func = (void (*)(void *))SGENT_1_calc; 

是的,如你所说,它是一个演员。

是的,它是一个函数指针,你可以用proto void funcname(void *)分配给一个函数这里SGENT_1_calc可以直接赋值给funcname