# C++ Multidimensional Arrays

A C++ multidimensional array has more dimensions identified by the number of subscripts. In this article, you will learn about a two-dimensional array in detail.

## Two-dimensional Array

A two-dimensional array has rows and columns. The horizontal arrangement of elements within a two-dimensional array is row and vertical arrangement is a column.

For example,

A means that this two-dimensional element is from 3rd row and 5th column. The row or column index starts at 0.

## Two-dimensional Array Declaration

To declare a 2d array like any variable does the following.

``<data_type><array_name>[m][n];``

The is`m` no of rows and equals`n` no of columns.

Example #1

``````int account ;

float boxes;``````

The example shows that the array account has 3 rows and 4 columns indicated by subscripts.

## Two-dimensional Array Initialisation

Initialising two-dimensional array means assigning initial values. There are two ways to do that.

Consider following examples,

``````int matrix ;
matrix  = {5,6,8,1,4,7,9,2,0};``````

First, note that the total number of values are equal to 3 × 3 – rows X columns.

``````int bins;

bins = {{23, 45},{78, 43}};``````

The first internal brace is the first row and never changes. Similarly, the second brace is the second row.

Also, you can initialise 2a d array dynamically. See the example program below.

``````/* Program to demonstrate
two-dimensional array
*/

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
int sq_matrix;
int i,j;

cout << "Enter matrix values";

for(i =0;i<3;i++)
{
for(j=0;j<3;j++)
{
cin >> sq_matrix [i][j];
}
}
//print the array

for(i =0;i<3;i++)
{
for(j=0;j<3;j++)
{
cout << sq_matrix [i][j] << " ";
}
cout << endl;
}

system("PAUSE");
return EXIT_SUCCESS;
}``````

Output

``````Enter matrix values4
8
9
0
8
4
2
9
7
4 8 9
0 8 4
2 9 7``````