typedef int (*http_data_cb) (http_parser*, const char *at, size_t length);
据我所知,typedef为标准库中的类型分配了新名称。在这种情况下,实例*http_data_cb
是 int,但是(http_parser*, const char *at, size_t length)
呢?
这是整个代码的链接
谢谢,
typedef int (*http_data_cb) (http_parser*, const char *at, size_t length);
据我所知,typedef为标准库中的类型分配了新名称。在这种情况下,实例*http_data_cb
是 int,但是(http_parser*, const char *at, size_t length)
呢?
这是整个代码的链接
谢谢,
这是一种将 typedef 类型作为函数指针的方法。通常在此类 typedef 中,您不会命名函数的参数,而仅指示它们的类型。
因此,该类型的变量http_data_cb
将是一个指向函数的指针,该函数返回 int 结果并采用三个类型的参数http_parser*
,const char
并size_t
按此顺序排列。
它声明了一个函数指针类型。
type-aliashttp_data_cb
是一个指向函数的指针,该函数接收三个参数并返回一个整数。
您可以使用它来获得指向其他函数的指针,例如在事件驱动系统中作为回调传递。
有关阅读和理解声明的更多帮助,请参阅顺时针/螺旋规则。
http_data_cb:是一个变量
(*http_data_cb) : 是一个指针变量
(*http_data_cb)(...) : 是指向函数的指针变量
(*http_data_cb)(http_parser*, const char *at, size_t length) : 是一个指针变量,指向接收 (http_parser*, const char *at, size_t length) 的函数
int (*http_data_cb)(http_parser*, const char *at, size_t length):是一个指针变量,指向接收 (http_parser*, const char *at, size_t length) 并返回一个 int 的函数。
typedef int (*http_data_cb)(http_parser*, const char *at, size_t length): http_data_cb 被声明为一个新的数据类型别名,作为一个指针变量,指向一个接收的函数 (http_parser*, const char *at, size_t length) 和返回一个整数。