gpt4 book ai didi

c - 什么时候在 C 中初始化结构?

转载 作者:行者123 更新时间:2023-12-04 12:20:02 24 4
gpt4 key购买 nike

我是 C 的新手,有 Java 背景。

如果我有一个使用来自结构定义内部函数的数据动态初始化的结构,那么这些函数何时被调用?这段代码什么时候运行?是否只是在第一次引用 sample_struct_table[i] 时?

static struct sample_struct {
int command;
int (*foo)( obj1 *banana, int num);
} sample_struct_table[] = {
{ .command = COMMAND_1,
.foo = function_name,
},
{ .command = COMMAND_2,
.foo = another_function_name,
},
};

static int function_name(obj1 *banana, int num)
{
// do stuff here
// When does this get called?
}

最佳答案

函数在您调用时被调用。在您的示例中,您所做的只是将结构的字段设置为函数指针。该函数未被调用,您只有一个指向它的指针。

关于c - 什么时候在 C 中初始化结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13811086/

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