什么'void(* return_socket)(void * closure);'意思?

时间:2014-04-15 21:33:39

标签: c syntax xcb

我正在浏览XCB源代码,我发现了这个奇怪的struct成员:

void (*return_socket)(void *closure);

这是什么意思?写这个的另一种方式是什么?

1 个答案:

答案 0 :(得分:5)

这是函数指针。 它指向一个返回void并接收void *作为参数的函数。

例如,您可以将其用作:

void myFunction(void *closure)
{
    printf("myFunction called with closure=%p", closure);
}

void (*return_socket)(void *closure) = myFunction;