令人困惑的C语法

swo*_*osh 2 c

我正在审查一些C代码,但很难理解Callback究竟是什么.有谁知道这意味着什么?我猜它正在定义"回调和x是一个无效*?

typedef void (*Callback)(bool x);
Run Code Online (Sandbox Code Playgroud)

cni*_*tar 5

它创建了一个新的类型名称Callback.每个都Callback将是一个指向函数的指针bool并返回void.实际上Callback将是该真实类型的别名.所以当你说:

Callback ptr = some_fun;
Run Code Online (Sandbox Code Playgroud)

你正在制作一个指向的函数指针some_fun.函数指针通常作为参数传递给其他函数.