带变量的C数组声明?

时间:2015-04-11 16:49:44

标签: c arrays

我要求用户输入两个数字,然后使用scanf读取它们。我将这些数字分配给变量x和y:

int x;
int y;
scanf("%d %d", &x, &y);

然后我可以使用变量x和y声明一个二维数组,就像这样吗?

int array[x][y];

2 个答案:

答案 0 :(得分:1)

是的,你可以。 C99和后者添加了名为variable length arrays的此功能。

答案 1 :(得分:0)

scanf(%d %d, &x, &y);

错了。它应该是

scanf( "%d%d", &x, &y);

关于你的真实问题,是的。在任何支持C99和更新版本的编译器上,您都可以这样做。这样做很好

int x;
int y;
scanf( "%d%d ", &x, &y);
int a[x];
int array[x][y];

对于支持C99的编译器(如gcc,MinGw等),这些都很好。

这是以Arrays of Variable Length

引入的功能