Объявление массива неизвестного размера - PullRequest
0 голосов
/ 27 марта 2011

Это не относится к какому-либо языку программирования, проблема заключается в том, чтобы «найти индекс указанного значения в массиве из n чисел».

Теперь мой вопрос: в приведенном ниже коде можно объявить массивкак я это сделал.

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

......

или это разрешено?

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

Я думаю, что первый правильный.

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 27 марта 2011

Преобразовано из комментария, предложенного Мерлин Морган-Грэм

Способ объявления массива зависит от того, какой язык вы используете. Если вы пишете псевдокод, вы можете решить его самостоятельно, если он сообщает намерение и желаемый результат.

Массив может быть объявлен как array = [], int[] array = new int[], int array[], array = array(), ´array = {} `и т. Д. В некоторых языках вы должны объявлять размер массива заранее, а в некоторых языках массивы расширяются при необходимости

1 голос
/ 27 марта 2011

С точки зрения синтаксиса - это, безусловно, зависит от языка программирования.Но если предположить, что язык программирования ведет себя более или менее статически и обрабатывает массивы как статически распределенные блоки в памяти (а не векторы и т. Д.) И т. Д., То первый параметр должен быть правильным, поскольку только после считывания n можно выделить статический массив.

1 голос
/ 27 марта 2011

Конечно, первое правильно.Во втором случае, когда вы объявляете массив, n еще не установлен.Так что это не правильно.

0 голосов
/ 27 марта 2011

Обычно при создании массива вы должны знать размер заранее. Знаете ли вы значение во время компиляции или во время выполнения, может зависеть от требований вашего языка / проекта, но оно должно быть известно до того, как вы решите создать массив такого размера. (т.е. первое решение верное)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...