|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.06.2009, 13:11 | #1 |
Форумчанин
Регистрация: 26.04.2009
Сообщений: 270
|
Динамическая память!!!
Господа! програмисты....
Объясните что это за "зверь" и что с ним едят. как отдельный элемент самой сущности "динамики" понял...но не могу привязать её у себя в голове....на чер она нужна...кроме того что она, может: выделять программе нужную ей Оперативную Память и размещать данные по АДРЕССАМ....так же с крупными массиами.... И все её достоинства??? |
29.06.2009, 21:05 | #2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Ну вот надо вам в программе ввести массив, но количество элементов заранее не известно (например, его вводит пользователь). Что вы будете делать? Просто объявите статический массив побольше (чтобы наверняка все уместилось) или выделите ровно столько, сколько нужно? А если таких массивов несколько (например, некоторые из них используются в одном месте, а другие - в другом)?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
29.06.2009, 23:15 | #3 |
Форумчанин
Регистрация: 26.04.2009
Сообщений: 270
|
???и... все его приимущества?
и только в этом его мисия? |
29.06.2009, 23:45 | #4 |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
При решении сколько-либо сложных задач, на этапах проектирования и кодирования, неизвестно - сколько памяти будет необходимо для работы программы.
Выше приводился пример с массивом. Допустим необходимо прочитать элементы массива из файла - ведь размер файла заранее неизвестен. Здесь и поможет динамическая память (хотя может лучше подойдет список вместо массива). Но массив - это частный случай. Часто используются более сложные структуры данных - списки (очереди, стеки, деки), деревья (бинарные, B-деревья и т.п.), графы(на списках или матричные) и прочие. Их элементы постоянно создаются и уничтожаются во время работы программы и основной принцип - это использовать столько памяти сколько необходимо в данный момент. В объектно ориентированном подходе: все объекты создаются в динамической памяти (за небольшим исключением). Здесь тот же принцип: создали объект, поработали с ним, удалили. P.S. На первый взгляд - все. Другие, думаю, дополнят, если что-то упустил.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". Последний раз редактировалось Daramant; 29.06.2009 в 23:48. |
30.06.2009, 10:26 | #5 |
Форумчанин
Регистрация: 26.04.2009
Сообщений: 270
|
....спасибо конечно за разьяснение!!!
но, вот одна диковина))) на Pascale силно то, не разгонишься...за "ограничения" самого языка ну к примеру графически(и, это очень важная штука)...я, так не пониму...зачем "раздувать" память О\П если ей..сильно не воспользуешься( ну, окромя масивов...строк...и т.д) |
30.06.2009, 11:00 | #6 | |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Доступной оперативной памяти, согласен, не так много как, скажем в Delphi, но ее вполне хватает для написания небольших и средних приложений. Если памяти не хватает: посмотри в сторону написания dll-библиотек и использования оверлеев. P.S. Посмотри вот это: http://www.citforum.ru/programming/bp70_lr/lr11.shtml и это: http://www.citforum.ru/programming/bp70_lr/lr20.shtml
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
|
30.06.2009, 15:03 | #7 |
Форумчанин
Регистрация: 26.04.2009
Сообщений: 270
|
Спасибо хорошие ссылки...есть о чем подумать....
Вот говориш...что в Delph доступно памяти по больше...но, Pascal это основа его...как тогда создатель delph прокачал.... О\П? вот меня что мучает.....не могу уловить ту "цепочку". Вот не давно создавал "окно" на графическом уровне...что было хоть чуть чуть было похоже(нам привычное)....хоть на что-то подобноее..с мышкой и с текстом....не хрена...не вышло...даже элементарное немог поменять окно спомощью указатель мыши.... |
30.06.2009, 15:23 | #8 | ||
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Они не имеют никакого отношения к объему ОП. Управлением ОП занимается ОС. Прочти вот это, про типы памяти (возможно слишком подробно, но все таки): http://osys.ru/os/3/bazovaya_pamyat.shtml В Windows изменены механизмы доступа к памяти (я имею ввиду способы адресации), поэтому и памяти доступно больше. Это обзор: http://www.xard.ru/post/10474/default.asp Можно подробнее насчет: Цитата:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
||
30.06.2009, 15:28 | #9 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 245
|
Всё не так просто, и с наскока не сделаешь. Эта задача давно решена. в 90-х годах для Turbo Pascal была создана библиотека Graphic Vision - полный аналог Turbo Vision, только всё работает в графическом режиме. В том числе изменение размеров окон, поддержка мыши и.д.
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
|
30.06.2009, 16:09 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Кстати в Турбо паскале проще написать псевдографический интерфейс (в текстовом режиме) там классы для этого нормальные.
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
динамическая память | aka_faith | Общие вопросы C/C++ | 47 | 12.06.2009 12:35 |
Динамическая память. | Пaвeл | Помощь студентам | 16 | 31.05.2009 21:16 |
Динамическая память | liver1981 | Общие вопросы C/C++ | 5 | 22.04.2009 09:16 |
Динамическая память.Списки. | Гвендолин | Помощь студентам | 6 | 31.03.2009 11:12 |
Динамическая память | MadDog__ | Помощь студентам | 2 | 22.11.2007 00:05 |