Ситуевина следующая... кк задается массив я стестно знаю, но мне нужен массив, размер которого мне заранее неизвестен - размер задает пользователь. если задаю переменную, скажем 'n' и пишу затем - mas: array[1..n] - ругается матом.
помогите плз
Неактивен
Есть в паскале, если память не изменяет, функция Function Malloc (Size : Longint) : Pointer; которая выделяет память возвращает указатель на массив размером Size байт.
Скажем, тебе надо выделить произвольный массив :
type
pmas = ^array [1..1000000] of integer; {Размер заданный тут - формальный, он не имеет значения.}
................
begin
pmas = Malloc(10000*sizeof(integer)); {выделяем паямть размером 10000 элементов каждый из которых - integer }
.....
pmas^[5] =6; {работа с массивом}
.....
a = pmas^[5]; {работа с массивом}
.....
delete(pmas); {Массив больше не нужен. очищаем выделенную паямть! Не забываем этого делать!}
end
Ещё вспомнил! в некоторых реализациях паскаля функция delete() называется free() !
Если идея непонятна - могу написать подробнее. (правда паскалем лет 10 не пользуюсь - но ещё кое-что помню).
Отредактировано Sfunx (23.08.2007 07:53)
Неактивен