Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
ВнизОбъявление дин. массива в Pascal! Найти похожие ветки
← →
Ученик_2008 (2007-11-22 17:06) [0]Подскажите пожалуйста, как объявить динамический массив в Turbo Pascal, не в Delphi!
← →
Джо © (2007-11-22 17:07) [1]В Turbo Pascal динамических массивов нет.
← →
Ученик_2008 (2007-11-22 17:10) [2]Жаль что нет, это разработчики серьёзно упустили, ну да ладно, нет так нет)
← →
Amoeba © (2007-11-22 17:14) [3]Например, так:
Type
TMyArray = array[0..0] of Integer;
PMyArray = ^TMyArray;
var
MyArray: PMyArray;
N: Integer;
....
GetMem(MyArray, N * SizeOf(Integer));
MyArray^[I] := 100;
...
FreeMem(MyArray);
← →
Amoeba © (2007-11-22 17:16) [4]Это, разумеется, "псевдо-динамический" массив. Настоящие динамические массивы появились только в Delphi4.
← →
Ученик_2008 (2007-11-22 17:22) [5]Amoeba, так тоже пойдёт, большое спасибо!!!
← →
DiamondShark © (2007-11-22 19:10) [6]
> Например, так:
>
> Type
> TMyArray = array[0..0] of Integer;
Лучше
TMyArray = array[0..не_помню_скока_там_ограничение] of Integer;
Не стоит вносить лишнее требование к окружению (обязательность отключения range check).
← →
Che Vingam (2007-11-22 19:31) [7]не_помню_скока_там_ограничение
64K / Sizeof(Integer)
← →
Anatoly Podgoretsky © (2007-11-22 19:40) [8]> DiamondShark (22.11.2007 19:10:06) [6]
Размер экстента (сегмента) and fff0 div SizeOF(Element) - 16 байт на сегмент
То есть максимальный размер 65520 байт
← →
DiamondShark © (2007-11-22 19:42) [9]
> 64K / Sizeof(Integer)
Не, там хитрее. Куски памяти, получаемые от DOS, имели заголовок (Memory Control Block), размером, кажется, 16 байт
← →
Che Vingam (2007-11-22 21:33) [10]
> Anatoly Podgoretsky
Упс, действительно. Уже все забыл :-(
← →
Anatoly Podgoretsky © (2007-11-22 21:37) [11]> Che Vingam (22.11.2007 21:33:10) [10]
Ну как сказали 16 байт это или диспетчер памяти или особенности сегментации.
← →
Германн © (2007-11-23 01:57) [12]
> Ученик_2008 (22.11.07 17:06)
>
> Подскажите пожалуйста, как объявить динамический массив
> в Turbo Pascal, не в Delphi!
>
Ну и ещё, если потребуется массив более 64К, рекомендую обратить внимание на Turbo Professional.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.049 c