Previous topic | Next topic | Ada Home Page | Index

Declaring Arrays

An array declaration describes the form  of the array

Example:

    -- various constants used in data types

    max_iarr : constant := 8;   -- largest index in int array
    min_farr : constant := 'a'; -- low  index in float array
    max_farr : constant := 'h'; -- high index in float array

    -- type declarations

    subtype STRING8 is STRING (1 .. 8);

    type int_8_array  is array (1 .. max_iarr)      of INTEGER;
    type float_arrays is array (min_farr..max_farr) of FLOAT;
    type str_arrays   is array (-5 .. 2)            of STRING8;
    type small_arrays is array ('a' .. 'c')         of FLOAT;

Note that the pattern is the same as we saw with records: constants first, then elementary types, then the structured types (in this case array types).

The declaration gives a name to the array type.

Example:

    arr1 : int_8_array;
    arr2 : float_arrays;
    arr3 : str_arrays;


Initialising Arrays

An array aggregate can be used to list initial values for items in an array variable

Examples:

    -- init array coord1 using a positional list
    coord1 : small_arrays := (1.2, 2.4, 3.6);

    -- init array coord1 using explicit index references
    coord2 : small_arrays := ('c'=>3.6, 'b'=>2.4, 'a'=>1.2);

You can specify a default for other items in array that are not explicitly initialised

    -- init array coord1 using other
    coord3 : small_arrays := ('b'=>5.2, others => 0.0);


Previous topic | Next topic | Ada Home Page | Index
c-lokan@adfa.oz.au / 27 Feb 96