Динамические массивы
Автор Admin admin задал вопрос в разделе Другие языки и технологии
Программирование С++ Что такое Динамические массивы? и получил лучший ответ
Ответ от Orang Hutan[гуру]
Ну вообще даже в Википедии есть объяснение этой технологии.
Грубо говоря это карман, размер которого заранее неизвестен. т. е. мы можем опеределить его размер, например 100 условных единиц, а затем подрезать до 50, или увеличить до 200, в зависимости от потребности. А потребность эта суть решения той или иной задачи. Например, вы храните число пользователей в вашей системе. Изначально никого нет, карман пустой. А по мере добавления пользователей, расширяете карман и суете туда пользователей. Можно, конечно, заранее задать размер 1000000 пользователей, но это некрасиво, неправильно и сожрет вам кучу памяти. Ах, ну у нас же 4Гб ОЗУ, ну тогда можно. Ага. 🙂 Вот так многие рассуждают. 🙂
Это сложный вопрос. Дело в том, что фраза "динамический массив" во многих учебниках и задачах применяется по отношению к динамически СОЗДАВАЕМЫМ массивам (массивам переменной длины) , которые на самом деле динамическими не являются.
Динамически создаваемый массив - массив, размер которого определяется во время его создания при работе программы и в дальнейшем не меняется. Динамический массив - массив, размер которого автоматически подстраивается во время выполнения программы под число помещаемых в него элементов.
Динамически создаваемые массивы в C++ реализуются с помощью операции new. Динамические массивы реализуются классом vector.
Но, как я уже упомянул, во многих учебниках и задачниках динамически создаваемые массивы называют просто динамическими, хотя это неточно. Сложилось это исторически, поскольку в С по-настоящему динамических массивов просто не было и динамическими в нем для краткости называли динамически создаваемые массивы, а когда действительно динамические массивы появились в C++, старая терминология стала вносить путаницу.
В Википедии статья правилась разными авторами, поэтому в ней начали за здравие, а кончили за упокой, поместив в середине несуразную попытку компромисса "Отличием динамического массива от массива переменной длинны является автоматическое изменение размеров, что не трудно реализуется в случаях его отсутствия" :))
Динамическим называется массив, размер которого может меняться во время исполнения программы.
Используется в те моменты когда заранее не знаешь сколько будет элементов в массиве.
Динамические - созданные с помощью оператора new. Извини, учебник тебе писать не буду, читай сам.
В чем разница между статическими и динамическими массивами? С++
Под статический массив память выделяется в стеке, под динамический – в куче.
Размер
подробнее...
как задать длину массива с клавиатуры. pascal
Имеется в виду динамические массивы?
Для объявления массивов, для которым зарание известен
подробнее...
Массивы в Java.
никакой массив ты не создал.
написав
String WORD_LIST [] = null;
ты лишь объявил
подробнее...
SetLength - вызов процедуру затрагивает элементы чужого массива
for i:=0 to CN do //здесь должно быть CN-1, т. к. setlength выделяет память с учетом нуля, т. е.
подробнее...
Паскаль - массив нужно сделать динамическим!!
Доброго времени суток.
Вот примеры организации динамических массивов. Остальное сами.
подробнее...
Организовать ввод одномерного массива
Вот что удалось найти
Динамические массивы в Паскале. Динамические массивы в Паскале не имеют
подробнее...
Как в паскале посчитать сколько в массиве элементов?
Доброго времени суток.
Вы можете узнать только минимальное и максимальное значение индекса с
подробнее...
Как из массива удалить элемент?
Судя по твоим предыдущим вопросам, язык Паскаль. Ну так вот, для обычного массива это невозможно.
подробнее...
Как задать двумерный динамический массив в Паскале?
Двумерные массивы Паскаля – матрицы
Двумерный массив в Паскале трактуется как одномерный
подробнее...
динамический массив, delphi
на, копай, , только зарегистрироваться сначала там надо, и все найдешь по этой
подробнее...
Проблема с заполнением ListView в Visual Basic 6
во-первых, не забываем переопределять размер динамического массива ReDim.во-вторых, не забываем его
подробнее...
delphi - как написать функцию, которая возвращает массив?
Опиши свой ТИП динамического массива. Тогда проще:
type
RealArray = array of
подробнее...
Delphi как сделать так, чтоб результатом функции был двумерный массив
Для начала создадим новый тип данных:
type
TArray2x = array of array of
подробнее...
Program1.pas(37) : Нельзя преобразовать тип array [1..100] of real к array of real
Либо используйте динамические массивы, либо создайте отдельный тип для массива...
type
подробнее...