gpt4 book ai didi

c - Eric Young 的 "crypto/conf/conf.h"中的两圆括号有什么用?

转载 作者:太空宇宙 更新时间:2023-11-04 01:17:12 24 4
gpt4 key购买 nike

我无法理解这两个圆括号是什么意思?

struct conf_method_st {
const char *name;
CONF *(*create) (CONF_METHOD *meth);
int (*init) (CONF *conf);
int (*destroy) (CONF *conf);
int (*destroy_data) (CONF *conf);
int (*load_bio) (CONF *conf, BIO *bp, long *eline);
int (*dump) (const CONF *conf, BIO *bp);
int (*is_number) (const CONF *conf, char c);
int (*to_int) (const CONF *conf, char c);
int (*load) (CONF *conf, const char *name, long *eline);
};

我猜正在进行某种类型转换或初始化。谁能解释一下?

最佳答案

这是函数指针类型的语法。

以第一个例子为例:

CONF *(*create) (CONF_METHOD *meth);

它定义了一个名为 create 的结构成员它指向接收类型为 CONF_METHOD* 的单个参数的函数并返回 CONF* 类型的值

例如,如果您有一个函数:

CONF *my_create(CONF_METHOD* meth)
{
//...
}

然后你可以在你的结构中存储一个指向那个函数的指针:

struct conf_method_st c;
c.create = my_create;

您可以像调用函数一样调用它:

CONF *conf = c.create(meth);

关于c - Eric Young 的 "crypto/conf/conf.h"中的两圆括号有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55212649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com