我遇到了以下行作为 C 函数声明。我对传入的第一个参数的类型感到困惑。谁能解释如何理解第一个参数的类型?
int clone(void (*fcn) (void *) , void *arg, void *stack)
void (*fcn) (void *)
从内向外读取类型:fcn是一个指向函数的指针,该函数接受一个void *参数并且不返回任何内容 ( void)。
使用“螺旋法则”:
+------+
| +--+ |
| ^ | |
void (*fcn ) (void *)
^ ^ | |
| +----+ |
+----------+
所以,
fcn是一个指向void *作为参数的函数void(无)