ВУЗ:
Составители:
Рубрика:
242
for i:=1 to m do for i:=1 to m do
write(b^[i],' '); write(b[i],' ');
{Уничтожение массивов A и B –
освобождение занятой динамической
памяти}
Freemem(a,sizeof(integer)*n);
Freemem(b,sizeof(integer)*m);
end. end.
С первого взгляда в глаза бросается то, что решение с использованием
динамической памяти более длинное, а значит и более сложное. Более
длинная программа имеет больший размер исполняемого кода и
медленнее работает.
Получается, что использование динамической памяти приводит
только к ухудшению характеристик программы?
На самом деле это далеко не так.
Если проанализировать наш пример, то мы увидим, что в решении с
использованием динамической памяти, памяти под массивы A и B
выделяется РОВНО СТОЛЬКО, СКОЛЬКО НЕОБХОДИМО ДЛЯ
РАБОТЫ программы. В решении же без динамической памяти массивы A
и B в любом случае занимают по 200 байт каждый.
Таким образом можно сделать следующие выводы:
1. Использование динамической памяти в программах приводит к
уменьшению объема используемой памяти – это плюс.
2. Использование динамической памяти ведет к увеличению размера
программы – это минус.
3. Использование динамической памяти чревато множеством
сложнообнаруживаемых ошибок, связанных с работой с указателями – это
минус.
4. Динамическую память необходимо использовать лишь в том
случае, когда это принесет явную выгоду, или же когда без нее просто
невозможно обойтись.
Страницы
- « первая
- ‹ предыдущая
- …
- 240
- 241
- 242
- 243
- 244
- …
- следующая ›
- последняя »