-- Chapter 13 - Program 4 with Ada.Text_IO, Ada.Integer_Text_IO, Ada.Unchecked_Deallocation; use Ada.Text_IO, Ada.Integer_Text_IO; procedure Access4 is type MY_ARRAY is array(3..8) of INTEGER; type POINT_TO_ARRAY is access MY_ARRAY; procedure Free is new Ada.Unchecked_Deallocation(MY_ARRAY, POINT_TO_ARRAY); List_Of_Stuff : MY_ARRAY := (34, 12, -14, 1, 27, -11); There : POINT_TO_ARRAY; Here : POINT_TO_ARRAY; begin There := new MY_ARRAY; There.all := List_Of_Stuff; Here := There; for Index in MY_ARRAY'RANGE loop Put(List_Of_Stuff(Index), 6); Put(There.all(Index), 6); Put(Here.all(Index), 6); New_Line; end loop; Free(There); end Access4; -- Result of execution -- 34 34 34 -- 12 12 12 -- -14 -14 -14 -- 1 1 1 -- 27 27 27 -- -11 -11 -11