用c语言生成新变量

用c语言生成新变量,c,variables,C,Variables,您的代码是否可以在c中生成新变量?例如,如果我设置了“example_variable=15”,有没有办法自动生成15个新变量,比如:“generated_variable_1”、“generated_variable_2”、“generated_variable_3”,一直到“generated_variable_15” 我是c语言的新手,还没有对它进行过适当的介绍,所以我只知道基本知识,尤其是在变量方面。我很确定这是非常高层次的东西,所以如果这个问题没有意义,我很抱歉。我愿意接受任何关于生成

您的代码是否可以在c中生成新变量?例如,如果我设置了“example_variable=15”,有没有办法自动生成15个新变量,比如:“generated_variable_1”、“generated_variable_2”、“generated_variable_3”,一直到“generated_variable_15”

我是c语言的新手,还没有对它进行过适当的介绍,所以我只知道基本知识,尤其是在变量方面。我很确定这是非常高层次的东西,所以如果这个问题没有意义,我很抱歉。我愿意接受任何关于生成变量的替代方法的建议


我知道可能已经有答案了,但我很难找到它们,我希望找到我所寻找的答案,而不是从我能找到的东西中拼凑出我所需要的

正在运行的
C
程序根本不使用您的变量名。这些名称对于编译器构建程序很有用,但在运行程序之前会被丢弃。这意味着在
C
中(但不是在像
python
这样的解释语言中):

  • 如果重命名变量,则得到完全相同的程序
  • 如果使用
    字符串
    ,则不会看到任何变量名(除非保留调试符号)

因此,运行时创建新变量太晚了。在
C
中,变量仅在编译时使用。当然,您可以使用数组或字典来模拟运行时变量的创建,就像另一个答案一样,还有一些评论员建议。

您所说的在运行时生成变量在C中是不可能的。原因是C是一种低级语言,不公开用于运行时操作的API。事实上,一旦编译,C程序就不使用变量,而是使用内存地址将值直接存储在内存中

在C语言中,与您正在寻找的类似的壁橱是一个“数组”。要声明数组,可以执行以下操作:

int var[15];
int var2[n]; // in C99+, n is a variable saying how many elements you want in the array

您也可以使用
malloc
执行此操作,但这有点复杂,因此必须释放值。

您的目标是什么?生成变量的方法通常称为数组:
int-var[15]:
然后您可以将其作为
var[0]
访问
var[14]
还有一个额外的好处,就是任何整数表达式都可以放在括号内。@ParamagneticCroissant很快说了,我正在与机器人技术合作(这就是为什么我没有被正式引入c),我需要我的机器人运行一系列动作,然后通过给这些动作分配一个变量基本上“记录”这些动作的结果,然后使用它记录的信息来决定下一步要做什么。问题是,我不知道它需要存储多少信息,所以我希望能够快速更改数字。@JasonWalker那么你需要一个数组。@ParamagneticCroissant我一直在研究它。数组正是我需要的!谢谢!这正是我需要的。我对C一点也不熟悉,所以我不知道它能做什么,不能做什么。我应该考虑早点研究阵列,它们会让我更容易。再次感谢!我懂了。我先学会了python,所以我一定没有领会其中的差异。很高兴知道,我一个人永远也搞不清楚。