你能用运算符来定义C中数组的大小吗?

时间:2013-12-05 23:42:13

标签: c arrays

现在我正在尝试编写程序,其中一部分涉及通过将先前数组中的值复制到具有更大尺寸的数组来扩展现有数组。

我这样做的方法是使用一个int变量,该变量在用户输入的程序中的前一个点中定义。

int[x] array;

int[x + 1] array2;

这会起作用,还是我必须初始化一个值为x + 1的单独的int变量?

1 个答案:

答案 0 :(得分:4)

正确的语法是:

int array[x];
int array2[x+1];

C 1999及更高版本支持此(在运行时确定x的值),尽管在C 2011中它是可选的。一些编译器(质量有问题)不支持它。

此类对象的可用空间通常限制为1到8个大小,并且该空间也必须满足其他程序需求,因此它只能用于小型数组。