声明一个未知大小的数组

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

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

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

……

或者这是允许的吗?

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

我想第一个是正确的。

提前致谢。

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

根据Merlyn Morgan-Graham的建议转换而来

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

数组可以声明为array = []int[] array = new int[]int array[]array = array() ,’array = {}`等。在某些语言中你必须声明的大小数组预先在某些语言中,数组在需要时展开

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

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