在c中生成新变量

generating new variables in c

您的代码可以在 c 中生成新变量吗?比如我做了"example_variable = 15",有没有办法自动生成15个新变量如:"generated_variable_1"、"generated_variable_2"、"generated_variable_3",一直到"generated_variable_15"?

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

我知道可能已经有答案了,但我很难找到它们,并且希望得到针对我正在寻找的内容的特定答案,而不是从我能找到的东西中拼凑出我需要的东西。

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

  • 如果您重命名您的变量,您将得到完全相同的程序
  • 如果你这样做 strings <your program> 你将看不到任何变量名(除非你保留调试符号)

因此,运行创建新变量的时间太晚了。在 C 中,变量只是编译时的。当然,您可以使用数组或字典来模拟 运行-时间变量创建,与其他答案和一些评论者一样,建议。

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

C 中可用的与您正在寻找的东西等价的壁橱是 "array"。要声明一个数组,你可以这样做:

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

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