Ада-95. Компилятор GNAT

       

Динамические массивы


Ада позволяет не указывать размеры массива при написании программы. В этом случае размеры массива не фиксируются во время компиляции программы, а определяются во время ее выполнения, что во многих случаях более предпочтительно. Массивы подобного вида известны как динамические массивы. Кроме того, в отличие от многих других языков программирования, Ада позволяет использование динамических массивов в качестве значения результата, возвращаемого функцией.

declare

X : Integer := Y -- значение Y описано где-то в другом месте A : array (1..X) of Integer; begin

for I in A'Range loop

. . .

end loop; end;

procedure Demo(Item : String) is

Copy : String(Item'First..Item'Last) := Item; Double : String(1..2 * Item'Length) := Item & Item; begin

. . .

Следует заметить, что не стоит позволять вводу пользователя устанавливать размер массива, и приведенный пример (с декларативным блоком) не должен использоваться как способ решения этой задачи. Использование второго примера наиболее типично.

Copyright (C) А.Гавва V-0.4w май 2004



Содержание раздела