Как передать массив как параметр?
Материал из DRKB
Как передать массив как параметр?[править | править код]
Для начала, нужно задать имя типа массива, чтобы затем назначать его переменным и параметрам:
type Ta = array of something;
var a: Ta;
Передача параметров процедуры и функции в дельфи:
Вариант 1.
procedure Proc(a: Ta);
внутри процедуры создаётся копия массива, внутри процедуры работа осуществляется только с копией данных. Недостаток: если а имеет большой размер то передача его в процедуру будет долгой и с большими затратами памяти, так как процедура должна будет скопировать всё содержимое и выделить память для копии.
Вариант 2.
procedure Proc(var a: Ta);
внутри процедуры код работает именно с переменной а и её содержимым
Вариант 3.
procedure Proc(const a: Ta);
внутри процедуры запрещено изменять данные переменной а
Вариант 4.
procedure Proc(out a: Ta);
при входе в процедуру массив рассматривается как пустой, но после выполнения процедуры можно получить значения
Author: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Source: http://forum.vingrad.ru
ID: 00077