C 这是什么意思?
我是C新手,这个typedef对我来说有点奇怪。有人能解释一下它的作用吗C 这是什么意思?,c,typedef,C,Typedef,我是C新手,这个typedef对我来说有点奇怪。有人能解释一下它的作用吗 typedef void (*alpm_cb_log)(alpm_loglevel_t, const char *, va_list); 它位于头文件中。如果您以前从未见过它们,它们看起来确实很奇怪。它是一个typedefalpm\u cb\u log,用于指向返回void的函数的指针,包含两个或多个参数:一个alpm\u loglevel\u t、一个const char*和一个变量参数列表。您可以使用cdecl.or
typedef void (*alpm_cb_log)(alpm_loglevel_t, const char *, va_list);
它位于头文件中。如果您以前从未见过它们,它们看起来确实很奇怪。它是一个typedef
alpm\u cb\u log
,用于指向返回void的函数的指针,包含两个或多个参数:一个alpm\u loglevel\u t
、一个const char*
和一个变量参数列表。您可以使用cdecl.org:
它说:
将alpm_cb_log声明为指向返回void的函数的指针(alpm_loglevel_t,指向const char的指针,va_list)
在本例中,它是一个typedef,而不是一个声明。它将
alpm\u cb\u log
定义为指向函数的指针的类型,该函数采用参数alpm\u loglevel\u t,const char*,va_list
并返回void
它创建alais alpm_cb_日志,该日志是指向返回void并获取三个参数的函数的指针。1.阿尔卑斯山2级。常量字符*。3一个varaibale参数列表。一个简单的例子。
声明:
typedef int myint.
使用:
myint是int的同义词
你的榜样
typedef void (*alpm_cb_log)(alpm_loglevel_t, const char *, va_list);
这是指向函数的指针
(*alpm_cb_log)
争论是
(alpm_loglevel_t, const char *, va_list)
而且不归还任何东西
void
使用typedef的一般规则是像
您正在声明您想要的类型的变量。谢谢你的链接。
void