1
struct ast_channel *(* const requester)(const char *type, int format, void *data, int *cause);

这条线是什么意思?

第二个问题:使用有什么好处

static struct hello
{
    int a;
    chat b;
};

简单地结束

struct hello
{
    int a;
};

static char p[]另外,和 和有什么区别char p[];

4

5 回答 5

5

我的 C 有点生疏: requester 是一个常量指针,指向一个返回指向 ast_channel 结构的指针的函数。

请参阅这些文章:

static 关键字的含义取决于声明在代码中出现的位置。在函数内部,它指示变量不应放在堆栈中,而应放在数据段中,并且在函数超出范围(即未运行)时保持不变。在函数之外,它表明该变量在它所在的文件之外是不可访问的。

于 2009-03-27T05:48:10.647 回答
4

教鱼(而不是给鱼):

阅读 C 类型声明

C程序中的static是什么意思

于 2009-03-27T05:50:15.867 回答
1

第一个是指向函数的常量指针的声明(以及定义),该函数返回指向struct ast_channel并接受最后一对括号中列出的参数。这个函数指针被命名为requester

的含义static实际上取决于上下文。但是,它已在之前的答案中进行了解释。

于 2009-03-27T06:57:38.980 回答
0

第一行是一个函数指针,类型为 ast_channel。需要提供更多代码以充分解释其用途。那是在结构内部定义的吗?如果是这样,它将通过 structname->requester( ... args ... ) 输入。

本教程可能会帮助您理解这一点。其他人已经提供了链接以找出“静态”的含义。

于 2009-03-27T06:08:08.243 回答
0

cdecl.org你的朋友在这里吗:

struct ast_channel *(* const requester)(const char *, int , void *, int *)- 将请求者声明为指向函数的 const 指针(指向 const char、int、指向 void、指向 int 的指针)返回指向 struct ast_channel 的指针
于 2011-08-11T16:19:50.253 回答