您的代码是否可以在c中生成新变量?例如,如果我创建“example_variable = 15”,有没有办法自动生成15个新变量,例如:“generated_variable_1”,“generated_variable_2”,“generated_variable_3”,一直到“generated_variable_15”?
我是c的新手,我没有对它进行适当的介绍,所以我只知道基础知识,特别是涉及到变量时。我很确定这是非常高级的东西,所以如果这个问题没有意义,我很抱歉。我对任何有关生成变量的替代方法的建议持开放态度。
我知道那里可能已有答案,但我很难找到它们,并且希望得到特定于我正在寻找的答案,而不是从我能找到的东西拼凑出我需要的东西。
答案 0 :(得分:1)
正在运行的C
程序根本不使用您的变量名称。这些名称对于编译器构建程序很有用,但在运行之前会被丢弃。这意味着在C
中(但不在python
等解释语言中):
strings <your program>
,则无法看到任何变量名称(除非您保留调试符号)因此,运行时太晚来创建新变量。在C
中,变量只是编译时。当然,您可以使用数组或词典来模拟运行时变量创建,就像其他答案一样,以及一些评论者建议。
答案 1 :(得分:1)
你在谈论什么 - 在运行时生成变量 - 在C中是不可能的。原因是C是一种低级语言,并且不公开用于运行时操作的API。事实上,一旦编译完成,C程序就不会使用变量 - 值是使用内存地址直接存储在内存中的。
与您在C中可用的内容相当的壁橱是&#34;数组&#34;。要声明一个数组,你可以这样做:
int var[15];
int var2[n]; // in C99+, n is a variable saying how many elements you want in the array
您也可以使用malloc
执行此操作,但这有点复杂,然后您必须释放值。