怎么理解标题?怎么理解标题?怎么理解标题?怎么理解标题?怎么理解标题?
typedef 是定义一个新的类型,Linux内核经常采用的方式,比如:typedef unsigned char U008; 这里是定义U008 为unsigned char类型。
其实typedef struct ast_config *func(...) 也是定义一种类型,只是这个类型是结构体指针而已,类型名为func 所以代码后面使用func 什么变量时其实
它就是代表一个函数,只是这个函数返回的是一个struct ast_config * 这样的一个结构体指针。 希望对你有所帮助!
举个简单的例子吧,typedef int64_t ngx_atomic_int_t;像是这种形式,就是定义 ngx_atomic_int_t为int64_t ,在看下这种类型了,typedef void * ngx_buf_tag_t; 相比之前,这里多的是指针之外跟上面的是一样的, 那么接下来就是你想知道的了typedef char *(*ngx_conf_handler_pt)(ngx_conf_t *cf,ngx_command_t *dummy, void *conf);这里就是函数指针,函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。
把函数,定义为类型了
如今的编译器,尤其是C++已经支持了
返回类型为 struct ast_config *