# Arrays

Arrays provide functionality to allocate a series of numbers to a parameter.

Arrays are supported and indexed with the notation such as

`#a[5]`

.
More complex arrays are supported where the array is constructed from an
expression:`#am_0[3*#i+ceil(#r[2])]`

The expression between the
square brackets must evaluate to an integer number, which can also be negative. The
implementation of using arrays is such that they do not need to be allocated,
however they need to be initialised. Consider the following lines of
code:

```
!!for #i = 10 to 20
#array_a[#i] = 3*#i-10
#array_b[-#i] = 0
!!next
```

It
would be possible to use `#array_a[10]`

or
`#array_a[17]`

or also `#array_b[-12]`

in other
expressions. But, trying to use for instance `#array_a[5]`

or
`#array_b[0]`

results in an error message that an undefined
variable is used.