Помощь - Поиск - Пользователи - Календарь
Полная версия: Динамический массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
sheka
Вот несколько вопросов из теории на экзамен.
Задание (Показать/Скрыть)

А теперь очередная загадка: lol.gif
Что подразумевается под "Динамический массив"?
Ответ (Показать/Скрыть)
Lapp
Шека, я тебя не понял. Что именно ты цитируешь во втором случае?
Цитата(sheka @ 13.01.2011 17:39) *
А теперь очередная загадка: lol.gif
Что подразумевается под "Динамический массив"?
Цитата
Открытый массив.
Если это так, то как можно для него сделать 25? Вроде в TP процедуры SetLength() нет..

И еще пара вопросов:
- почему под динамическим массивом не может пониматься динамический, а под открытым - открытый?
- а кто сказал, что нужно ограничиваться рамками TP? Из вопросов это не следует.
мисс_граффити
blink.gif "Динамическими массива создается программист какая угодно размер".
TarasBer
> Открытый массив.

ЛОЛ. Ещё один перл от препода?

> Вроде в TP процедуры SetLength() нет..

В TP же есть процедура GetMem()
Lapp
Цитата(TarasBer @ 14.01.2011 12:26) *
В TP же есть процедура GetMem()
Конечно, есть. Но дин. массив - это несколько не то..
TarasBer
Я имел в виду, как заменитель SetLength;
Жаль только, что в ТП7 нету ReallocMem;
И вообще там менеджер памяти странный.

var
p: ^extended;
begin
GetMem(p, 1);
{ Dispose(p); { нихрена, будет глюк}
Dispose(pointer(p)); {а так нормально}
end.


То есть в него зачем-то неявно передаётся тип указателя.
sheka
Цитата
Что именно ты цитируешь во втором случае?
Исправил.
Цитата
- почему под динамическим массивом не может пониматься динамический, а под открытым - открытый?
Не могу знать.
Цитата
- а кто сказал, что нужно ограничиваться рамками TP? Из вопросов это не следует.
Я. Мы Паскаль учим.
Просто я как уже и говорил, тов.Препод вроде когда то Дельфи лучше видел. Вот и вопросы у него делфийские. Когда на консультации мы спросили про вопросы с динамическими массивами, то:
Цитата
- Мы, наверное, о разном говорим. Я говорю о тех, которые передаются в подпрограмму.
-Открытые, чтоли?
-Ну это вы так называете. А они динамические, память под них выделяется динамически, но как-то не так как в других языках, а по особому.
Как-то так, смысл этот, но точно не помню, поэтому к этой цитате сильно не придирайтесь. Короче, видно дядька свои лаги скрывает нашим незнанием и своей лапшой.
Цитата
"Динамическими массива создается программист какая угодно размер".
Ну... dry.gif
Гуглем переводил, пробежался - вроде для понимания смысла нормально, при чем нашел ошибку только в первом слове и то решил оставить, т.к. так было в задании, так сказать для придания изюминки smile.gif
Цитата
ЛОЛ. Ещё один перл от препода?
Конечно. Меня очень интересует другой вопрос. Кто так еще их называет? smile.gif
Цитата
В TP же есть процедура GetMem()
Не то имел ввиду. Вчера очень это все быстро писал. Я хотел сказать, что в как открытый массив передается статистический. И как для него можно сделать такие чудеса?

Не работал с ними никогда. Вчера просмотрел сайт Вольво, там бы еще объяснения к модулю написать. Ну это я так, особо не разбираясь говорю, но было бы замечательно, чтобы и не разбираться smile.gif))
volvo
Цитата
Что подразумевается под "Динамический массив"?
Ответ
Открытый массив.
Это вообще бред, причем полный. Открытый массив - это способ передачи данных в процедуру/функцию, но никак не выделение памяти под эти данные. Память выделяется перед вызовом подпрограммы (статически или динамически - неважно, но она должна быть выделена, иначе воспользоваться "открытым массивом" нельзя).

Так что
Цитата
Если это так, то как можно для него сделать 25?
- вопрос лишенный смысла. Сколько есть в том участке памяти, ссылку на который ты передаешь в подпрограмму, столько и есть.

Открытый <> динамический.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.