gpt4 book ai didi

arrays - 编写一个接受函数列表的变量

转载 作者:行者123 更新时间:2023-12-05 04:23:08 25 4
gpt4 key购买 nike

我想写一个接受函数列表的变量,这可能吗?有一个 C 函数列表?

例子:

// this type is for one function
void (*f)(void) = func1;

// but this is what I need
/*TYPE*/ vf = { func1, func2, NULL };

想要构建包含函数和下一个函数的新结构,我想像我上面提到的那样,是否可以不创建专用结构?

注意:我不受特定 C 标准的约束

最佳答案

这条记录

void (*f)(void) = func1;

声明一个指向函数的指针。

这条记录

void ( * vf[] )( void ) = { func1, func2, NULL };

void ( * vf[3] )( void ) = { func1, func2, NULL };

声明一个指向函数的指针数组。

您可以使用函数类型或指向函数类型的指针的 typedef 来简化声明,例如

typedef void Func( void );
Func * vf[3] = { func1, func2, NULL };

typedef void ( *FuncPtr )( void );
FuncPtr vf[3] = { func1, func2, NULL };

关于arrays - 编写一个接受函数列表的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73790280/

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