我正在审查一些C代码,但很难理解Callback究竟是什么。有谁知道这意味着什么?我猜它正在定义“回调和x是一个无效*?
typedef void (*Callback)(bool x);
答案 0 :(得分:5)
它创建了一个新的类型名称Callback
。每个Callback
都是指向bool
并返回void
的函数的指针。实际上Callback
将是该真实类型的别名。所以当你说:
Callback ptr = some_fun;
你正在创建一个指向some_fun
的函数指针。函数指针通常作为参数传递给其他函数。
答案 1 :(得分:2)
它通过名称Callback
声明一个函数指针类型,它指向一个函数,该函数接受bool
输入参数并返回void
。
指定语句后,可以使用Callback
作为类型来保存具有指定类型的函数的地址。
如有疑问,请参阅 Clockwise spiral rule 。