The vector data types are Array and List. A List is a simple ordering of elements of a single type. An Array arranges the elements so that they can be easily accessed with one or more indices.
Int32 a[10][20] declares
an array of 10 arrays of 20 integers. However, unlike C arrays, the
Array class supports named dimensions. In the preceding
example, the array could have been declared: Int32 a[row =
10][col = 20] where row and col are the names of the
first and second dimension, respectively. You can use the
dimension_name and dimension_size member functions of
the Array class to determine the name and size for the
ith dimension.
Array, like all of the compound types, contains a reference to a component variable. In the preceding example, the instance of Array would contain information about the dimensions of the array (10 by 20), but not the type of the elements (Int32). The element type information is stored in the component variable which the instance of Array references.
When creating an array, the dimension sizes (and optionally their names) must be set. Regardless of the shape of the array, it is always stored as a vector. In order to access the element of a multidimensional array it is necessary to calculate the offset for a given element.