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