An array is a list of homogeneous (similar data type) elements stored in contiguous memory locations. Elements are accessed via an index. One dimensional arrays use a single subscript, while two dimensional arrays use two subscripts to reference an element. Arrays can be initialized during declaration. The size of an array is calculated as upper bound - lower bound + 1. Elements of arrays can be traversed, inserted, or deleted. Two dimensional arrays can be stored in row major or column major order, affecting the calculation of element addresses. Multidimensional arrays generalize this to any number of dimensions.