Arrays allow storing and accessing multiple values of the same data type. A two-dimensional array represents data in a tabular form and can be used to store values in a matrix. It is declared with two sets of brackets and initialized with nested curly braces. Elements are accessed using two indices, such as array[row][column]. Memory for a two-dimensional array is allocated in a contiguous block, with the first dimension iterating fastest.