Другие языки программирования и технологии

масивы. может ли реальное количество элеентов в масиве быть меньше, чем указано при описании? больше? почему?

Alex E-E-E
Alex E-E-E
97
в массиве будет столько элементов сколько описано ни больше ни меньше.
меньше- вы можете заполнить значениями меньшее кол-во элементов, но все равно остальные описанные останутся, значения у них будут либо случайными либо из прошлых каких-то регистров, но по идее ноль если это целочисленный массив.
больше быть не может. так как описано - зарезервировано определенное кол-во элементов
Валерий Опарин
Валерий Опарин
4 638
Лучший ответ
Смотря что считать "реальным числом". Может ли реальное количество вещей в камере хранения быть меньше числа ячеек? Очевидно, может. Больше - строго говоря, тоже может, я могу в одну ячейку камеры положить несколько вещей, например, битов, но от вас ждут ответа "нет".
нет. массивы - область памяти, а она не может быть ничему не равной. Какое-то число будет.
Димка Фролов
Димка Фролов
22 045
меньше,
ето проще [1..100.000.000] of ...
больше? ?
Да, и ето проблема, для определеных ситуаций.. . Непонятно в чем вопрос. Для динамических (когда непонятно сколько елементов массива будет) массивов, етот вопрос решаеться, смотря под какую платформу (под винду прписуй хоть гиг 8) ) а под дос нада расчитать.
меньше, канешно. Тыж описуеш заранее извесное колво елементов 8))
Алексей Ёлкин
Алексей Ёлкин
8 290
Неправда ваша! Вернее, не совсем правда. :)
Все зависит от того, какой это массив. В статических массивах число элементов регламентировано границами массива. В случае динамического массива кол-во элементов может быть меньше максимальной длины массива. В TurboPascal динамические массивы представлены только в качестве строк с завершающим 0 (см. модуль Strings), плюс необходимо при работе с такими массивами а) отключать контроль границ {$R-} б) включать расширенный синтаксис директивой {$X+}, в) индексировать массивы с 0 элемента, а не с 1-го. Такие массивы ограничены сверху числом элементов 65535. Однако, в последующих версиях компилятора Pascal, напр. в ObjectPascal for Delphi, динамические массивы работают совершенно равноправно со статическими и могут без шаманства изменять размер в процессе работы программы.
См. Help по Array TP7 и далее Delphi c версии 4.0 (по-моему).
RL
Roman Luapunov
1 930
под массив выделяется определенный участок памяти, если укажешь не все элементы например инты то он их забъет нулями. а вообще память выделена должно что то быть
OD
Oralov_Dias Dias
1 772