我想使用变量调用函数。这在 C 语言中可能吗?
实际上,我想做的是,从用户那里获取函数名称并将其存储在变量中。现在我想调用已存储名称的函数。谁能告诉我如何用 C 语言实现这一点?
我想为两人游戏开发一个人工智能游戏引擎。两个没有主要功能的程序,用于实现赢得游戏的逻辑,将被输入到游戏引擎中。 让我明确一点,程序名称将与程序中实现获胜逻辑的主要函数的名称相同。
因此,当用户输入第一名和第二名玩家的姓名时,我可以将它们存储在两个不同的变量中。现在,由于主函数名称与程序名称相同,我打算使用包含程序名称的变量来调用函数。
最佳答案
C 不支持这种操作(具有反射的语言会支持)。您能做的最好的事情就是创建一个从函数名称到函数指针的查找表,并使用它来找出要调用的函数。或者您可以使用 switch 语句。
关于在 C 中调用以字符串变量命名的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43062364/