# Multidimensional Arrays in C++

Multidimensional arrays are also known as array of arrays. The data in multidimensional array is stored in a tabular form as shown in the diagram below:

A two dimensional array:

`int arr[2][3];`

This array has total 2*3 = 6 elements.

A three dimensional array:

`int arr[2][2][2];`

This array has total 2*2*2 = 8 elements.

## Two dimensional array

Lets see how to declare, initialize and access Two Dimensional Array elements.

How to declare a two dimensional array?

`int myarray[2][3];`

Initialization:
We can initialize the array in many ways:
Method 1:

`int arr[2][3] = {10, 11 ,12 ,20 ,21 , 22};`

Method 2:
This way of initializing is preferred as you can visualize the rows and columns here.

`int arr[2][3] = {{10, 11 ,12} , {20 ,21 , 22}};`

Accessing array elements:
arr[0][0] – first element
arr[0][1] – second element
arr[0][2] – third element
arr[1][0] – fourth element
arr[1][1] – fifth element
arr[1][2] – sixth element

### Example: Two dimensional array in C++

```#include <iostream>
using namespace std;

int main(){
int arr[2][3] = {{11, 22, 33}, {44, 55, 66}};
for(int i=0; i<2;i++){
for(int j=0; j<3; j++){
cout<<"arr["<<i<<"]["<<j<<"]: "<<arr[i][j]<<endl;
}
}
return 0;
}```

Output:

```arr[0][0]: 11
arr[0][1]: 22
arr[0][2]: 33
arr[1][0]: 44
arr[1][1]: 55
arr[1][2]: 66```

## Three dimensional array

Lets see how to declare, initialize and access Three Dimensional Array elements.

Declaring a three dimensional array:

`int myarray[2][3][2];`

Initialization:
We can initialize the array in many ways:
Method 1:

`int arr[2][3][2] = {1, -1 ,2 ,-2 , 3 , -3, 4, -4, 5, -5, 6, -6};`

Method 2:
This way of initializing is preferred as you can visualize the rows and columns here.

```int arr[2][3][2] = {
{ {1,-1}, {2, -2}, {3, -3}},
{ {4, -4}, {5, -5}, {6, -6}}
}```

## Three dimensional array example

```#include <iostream>
using namespace std;

int main(){
// initializing the array
int arr[2][3][2] = {
{ {1,-1}, {2,-2}, {3,-3} },
{ {4,-4}, {5,-5}, {6,-6} }
};
// displaying array values
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 3; y++) {
for (int z = 0; z < 2; z++) {
cout<<arr[x][y][z]<<" ";
}
}
}
return 0;
}```

Output:

`1 -1 2 -2 3 -3 4 -4 5 -5 6 -6`