typedef struct ast_config *func(...)

问题描述

typedef struct ast_config *func(...) 2C
怎么理解标题?怎么理解标题?怎么理解标题?怎么理解标题?怎么理解标题?

解决方案

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 *cfngx_command_t *dummy void *conf);这里就是函数指针,函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。

解决方案三:
把函数,定义为类型了
如今的编译器,尤其是C++已经支持了
返回类型为 struct ast_config *

解决方案四:
http://blog.sina.com.cn/s/blog_5e8facd20100qfpn.html

时间: 2024-11-02 13:58:29

typedef struct ast_config *func(...)的相关文章

c语言数据结构-typedef struct的运用

问题描述 typedef struct的运用 问题:struct LNode *s,*q;下面代码中的这条语句中的struct是不是可以去掉,如果不行那么struct的作用是?谢谢! typedef char ElemType; typedef struct LNode { ElemType data; struct LNode * next; }LNode,*LinkList; void InsertList(LinkList &L,ElemType x,int i) { int j=1; s

gcc-#define T Connection_T typedef struct T *T;

问题描述 #define T Connection_T typedef struct T *T; #define T Connection_T typedef struct T *T;这在gcc下是可以编译通过的,但是我想问接下来T代表什么意思阿?是Connection_T还是什么?还是结构体指针? 解决方案 你用gcc什么版本编译的 我得到的是 Line 2: error: conflicting declaration 'typedef struct Connection_T* Connec

声明-返回局部指针,typedef struct {}*p问题

问题描述 返回局部指针,typedef struct {}*p问题 #include #define ElemType char //节点声明,数据域.左孩子指针.右孩子指针 typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; //先序建立二叉树 BiTree CreateBiTree(){ char ch; BiTree T; scanf("%c",&ch);

结构体定义 typedef struct 用法详解和用法小结

typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便.具体区别在于:若struct node {}这样来定义结构体的话.在申请node 的变量时,需要这样写,struct node n;若用typedef,可以这样写,typedef struct node{}NODE; .在申请变量时就可以这样写,NODE n;区别就在于使用时,是否可以省去struct这个关键字.   第三篇:struct和typedef struct 分三块来讲述:1 首先:在C中定义一个结

C/C++语法知识:typedef struct 用法详解

第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等). 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明. 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述. 2. typedef & 结构的问题 当用下面的代码定义一个结构时,编译器

php中有趣的流

有趣的流 php常被提起的一个特性是流上下文. 这个可选的参数甚至在用户空间大多数流创建相关的函数中都可用, 它作为一个泛化的框架用于向给定包装器或流实现传入/传出额外的信息. 上下文 每个流的上下文包含两种内部消息类型. 首先最常用的是上下文选项. 这些值被安排在上下文中一个二维数组中, 通常用于改变流包装器的初始化行为. 还有一种则是上下文参数, 它对于包装器是未知的, 当前提供了一种方式用于在流包装层内部的事件通知. php_stream_context *php_stream_conte

结构体struct、枚举enum、联合体union、位字段、自定义类型typedef、字节对齐

结构体struct 1 结构体的基本知识 2 结构体与函数 3 结构体数组 4 自引用结构体 枚举变量enum 联合体union 位字段 1 一般的方法定义屏蔽吗 2 用位字段来定义屏蔽吗 自定义类型typedef 字节对齐 pragma pachx 按x个字节对齐 1.结构体struct 1.1 结构体的基本知识 #include <stdio.h> struct point{ int x; int y; }p1, p2, p3; struct point pt; struct point

C++中typedef 及其与struct的结合使用_C 语言

复制代码 代码如下: //相当于为现有类型创建一个别名,或称类型别名.//整形等typedef int size; //字符数组char line[81];char text[81];//=> typedef char Line[81];Line text, secondline; //指针typedef char * pstr;int mystrcmp(pstr p1, pstr p2);//注:不能写成int mystrcmp(const pstr p1, const pstr p3);因c

关于typedef之四种用途 和 两个陷进

typedef用来声明一个别名,typedef后面的语法,是一个声明.本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人 不在少数.罪魁祸首又是那些害人的教材.在这些教材中介绍typedef的时候通常会写出如下形式: typedef int PARA; 这种形式跟#define int PARA几乎一样,如前面几章所述,这些教材的宗旨是由浅入深,但实际做出来的行为却是以偏盖全.的确,这种形式在所有形式中是最简单的,但却没有对 typedef进一步解释,使得不少人用#define的