【发布时间】:2017-11-06 13:10:17
【问题描述】:
我需要一些方法来通过for创建 N 个变量(数字大于 1)?
例如,类似的东西:
int N=1000;
for(int i=0; i < N; i++){
char* var_i = malloc(sizeof(1));
}
注意:我知道上面的代码不起作用,我写它只是为了解释我的意图。
【问题讨论】:
-
创建一个数组。
-
与您的问题无关,但请记住
1是int,这意味着sizeof(1)等于sizeof(int)。 -
我想了想,我知道它正在工作,但是,我想知道它是否可以在没有数组的情况下通过 for-loop 来实现 - 即,只需使用单个变量进行任何迭代。
-
@StackUser:不,你也不想这样做。这是一个很常见的初学者问题,但答案是“学习使用集合”
-
至于你的问题,C 没有reflection,你不能在运行时“创建”新变量。您可以在循环内定义一个变量,其生命周期将是当前迭代,但该变量将在编译时由编译器定义和分配。