Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1195640521
ZWNikolay
2007-11-21 13:22
2007.12.16
TTabControl


2-1195478128
bagos
2007-11-19 16:15
2007.12.16
Надругатсья над scroll ом :)


6-1170840072
tytus
2007-02-07 12:21
2007.12.16
IHTMLWindow2 как выполнить скрипт!!???


15-1195260333
Pain
2007-11-17 03:45
2007.12.16
Никто не пробовал работать с gmail.com через Аутлук Экспресс?


10-1141661852
Alex Kryuchkov
2006-03-06 19:17
2007.12.16
СОМ через SSL-соединение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский