声明一个未知大小的数组

时间:2011-03-27 08:12:52

标签: c arrays

这不是特定于任何编程语言,问题是“在n个数组的数组中找到指定值的索引。

现在我的问题是,在下面的代码中你可以声明一个数组我是如何做到的。

{int n;
read(n);
int array[n];

...

或者这是允许的吗?

{int n; array[n];
read(n)

我认为第一个是正确的。

提前致谢。

4 个答案:

答案 0 :(得分:2)

根据Merlyn Morgan-Graham

建议的评论转换

声明数组的方式取决于您使用的语言。如果您正在编写伪代码,只要它传达意图和期望的结果,您就可以自己决定。

数组可以声明为array = []int[] array = new int[]int array[]array = array(),'array = {}`等。在某些语言中,您必须声明大小预先在数组中使用某些语言,并在需要时扩展数组

答案 1 :(得分:1)

当然第一个是正确的。在声明数组的第二个中,n尚未设置。所以这不正确。

答案 2 :(得分:1)

在语法方面 - 肯定会依赖于编程语言。但假设编程语言或多或少静态地表现并将数组视为内存中的静态分配块(而不是向量等)等,则第一个选项必须正确,因为只有在读取n之后才能分配静态数组。

答案 3 :(得分:0)

通常在创建阵列时,您需要事先了解大小。您是否知道编译时或运行时的值可能取决于您的语言/项目要求,但必须先了解它才能决定创建该大小的数组。 (即第一种解决方案是正确的)