Люди, человеки!
Я примерно представляю что такое "Динамические переменные", но не вижу преимущества их перед статическими. Расскажите о причине использования Динамических переменных!!!!!!!!!!!!
Если ты заранее знаешь сколько и каких переменных у тебя будет, каких размеров будут массивы, а также у тебя хватает памяти на все - замечательно, используй статические! Но реально обычно бывает на так. Более того, даже если памяти на машине много, бывает неразумно забирать под задачу много оперативки, потому что другие процессы тоже хотят есть. Использование динамических переменных позволяет гибко использовать память: брать ровно столько, сколько нужно (если это редактор, скажем - ровно столько, скколько весит редактируемый файл, и увеличивать память по мере увеличения файла), а также освобождать память, занятую переменными, которые больше не нужны для переменных, которые понадобятся.
В большинстве задач, с которыми начинающие бегут сюда и которыми забит раздел "задачи", это не нужно. Более того, динамические переменные обрабатываются чуть медленнее. Но попрограммируй немного - и сама увидишь, что без этого невозможно жить.
Цитата
не вижу преимущества их перед статическими.
Общий размер всех статических переменных в Pascal- программе (включая и то, что описано в модулях) равен 65520 байт (только один сегмент данных доступен для 16-битных компиляторов)... Как только этот размер превышен, ты получаешь:
"Error 49: Data segment too large", и естественно, компиляция прерывается... Один из способов решения этой проблемы - загнать часть данных в динамическую память (которой может использоваться почти в 10 раз больше), и избежать переполнения сегмента данных...
Ну, и конечно, гибкость управления памятью, но об этом
lapp уже сказал...