在 C 中调用以字符串变量命名的函数

标签 c function

我想使用变量调用函数。这在 C 语言中可能吗?

实际上,我想做的是,从用户那里获取函数名称并将其存储在变量中。现在我想调用已存储名称的函数。谁能告诉我如何用 C 语言实现这一点?

我想为两人游戏开发一个人工智能游戏引擎。两个没有主要功能的程序,用于实现赢得游戏的逻辑,将被输入到游戏引擎中。 让我明确一点,程序名称将与程序中实现获胜逻辑的主要函数的名称相同。

因此,当用户输入第一名和第二名玩家的姓名时,我可以将它们存储在两个不同的变量中。现在,由于主函数名称与程序名称相同,我打算使用包含程序名称的变量来调用函数。

最佳答案

C 不支持这种操作(具有反射的语言会支持)。您能做的最好的事情就是创建一个从函数名称到函数指针的查找表,并使用它来找出要调用的函数。或者您可以使用 switch 语句。

关于在 C 中调用以字符串变量命名的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43062364/

相关文章:

c - 重命名函数中的变量

c - getchar() 在尝试扫描输入时跳过第一个字符

python - python 中的用户定义函数用于检测 Python 中的缺失值?

c++ - 分数计算

swift - 在 Swift 中声明函数类型的变量有什么意义?

javascript - 尝试使用 jQuery 动态验证字段 - 自定义函数

c - Hook SIGSEGV 时强制内核转储进程

java - 编译静态链接的 netty-tcnative 失败,与来自 JDK 的 jni.h 不匹配

c - 编写 C DLL 的替代品?

function - 如何将unix纪元时间转换为hive中的日期字符串