我有一个问题,我可以这样做吗?将变量存储在同一个数组中。
int var1 = 20;
int var2 = 200;
int var20 = 100;
int array[3] = { var1, var2, var20 };
return 0;
答案 0 :(得分:6)
这取决于您拥有代码的位置。
如果它像全局变量那样:
#include <stdio.h>
int var1 = 20;
int var2 = 200;
int var20 = 100;
int array[3] = { var1, var2, var20 };
int main(void) {
return 0;
}
这是非法的,因为初始化程序不是常量。
如果你把它放在像这样的函数中:
#include <stdio.h>
int main(void) {
int var1 = 20;
int var2 = 200;
int var20 = 100;
int array[3] = { var1, var2, var20 };
return 0;
}
这是有效的代码。
如果需要,还可以从传递给函数的参数构建数组。像:
#include <stdio.h>
void someFunc(int var1, int var2, int var3)
{
int array[3] = { var1, var2, var3 };
for (int i=0; i < 3; ++i)
{
printf("%d\n", array[i]);
}
}
int main(void) {
int var1 = 20;
int var2 = 200;
int var20 = 100;
someFunc(var1, var2, var20);
return 0; return 0;
}