<P> The number of indices needed to specify an element is called the dimension, dimensionality, or rank of the array type . (This nomenclature conflicts with the concept of dimension in linear algebra, where it is the number of elements . Thus, an array of numbers with 5 rows and 4 columns, hence 20 elements, is said to have dimension 2 in computing contexts, but represents a matrix with dimension 4 - by - 5 or 20 in mathematics . Also, the computer science meaning of "rank" is similar to its meaning in tensor algebra but not to the linear algebra concept of rank of a matrix .) </P> <P> Many languages support only one - dimensional arrays . In those languages, a multi-dimensional array is typically represented by an Iliffe vector, a one - dimensional array of references to arrays of one dimension less . A two - dimensional array, in particular, would be implemented as a vector of pointers to its rows . Thus an element in row i and column j of an array A would be accessed by double indexing (A (i) (j) in typical notation). This way of emulating multi-dimensional arrays allows the creation of jagged arrays, where each row may have a different size--or, in general, where the valid range of each index depends on the values of all preceding indices . </P> <P> This representation for multi-dimensional arrays is quite prevalent in C and C++ software . However, C and C++ will use a linear indexing formula for multi-dimensional arrays that are declared with compile time constant size, e.g. by int A (10) (20) or int A (m) (n), instead of the traditional int * * A . </P> <P> Most programming languages that support arrays support the store and select operations, and have special syntax for indexing . Early languages used parentheses, e.g. A (i, j), as in FORTRAN; others choose square brackets, e.g. A (i, j) or A (i) (j), as in Algol 60 and Pascal (to distinguish from the use of parentheses for function calls). </P>

What is an array explain different types of array