3

如何使用变量访问多个相似的结构,例如 P1、P2。我希望能够使用数字部分的变量在循环中访问子字段 turn,例如 P1.turn、P2.turn。当我编译时,我得到错误“错误:请求成员'转'不是结构或联合”。代码如下:

while (((strcat("P", (char)&pplayer_num))).turn == 0){

&pplayer_num 以 int 开头。

我尝试将字符串转换为结构,但出现其他错误。我知道这可能很简单,我只是忽略了任何帮助,将不胜感激。

4

2 回答 2

1

如果您想动态计算变量的名称然后访问这些变量,C 不是您想要的语言。最接近的近似值是将这些变量(甚至更好的是指向它们的指针)放在数组的元素中,因为它们可以通过它们的索引动态标识。

于 2012-11-29T18:05:38.010 回答
0

C 不能以这种方式工作。看起来您将代码在编译之前的外观与编译后的行为方式混淆了。或者更确切地说,您将编译时与运行时混合在一起。

也就是说,理论上您可以使用类似于您的代码的东西来生成 C 代码(每个播放器对象),但是您需要编译输出以获得您想要的行为。脚本语言(如 python)可以在运行时查找值,但 C 不能。它不知道您希望您创建的字符串 (P1) 映射到名为 P1 的对象/指针。

于 2012-11-29T18:49:22.683 回答