这段代码中 XSynchronize 的类型是什么?

What is the type of XSynchronize in this code?

我无法在脑海中解析此内容,并且对如何解析此声明完全感到困惑:

我添加了 typedef 以确认此声明确实可以编译。

typedef int Display;
int (*XSynchronize(Display*,int))(Display*);

解析C中复杂类型声明的类型的好方法可以在下面的指令中找到:http://www.ceng.metu.edu.tr/~ceng140/c_decl.pdf

XSynchronize 是一个带有两个参数的函数:(指向 Display 的指针,int)。它 returns 一个指向接受一个参数的函数的指针:(指向 Display 的指针),returns 一个 int。

有用link: http://cdecl.org/

Terence Parr(ANTLR 专家)在 http://blog.parr.us/2014/12/29/how-to-read-c-declarations/ 中描述的 'windshield wiper' 技巧可以帮助您