We have read about arrays and how can we declare them in C++. But, so far we have focused only on the one-dimensional arrays, now we will take a look at the multidimensional arrays in C++.

We can create an array of innumerable dimensions in C++, however, arrays having more than 3 – dimensions are considered tedious and are hard to manage. 

So, as we talk about arrays having the multiple dimensions, our major focus will be on, the 2 – dimensional arrays.

A 2 – dimensional array forms a matrix, which can be used to perform various matrix operations in C++. 


Declaring a multidimensional array:

Here is the general form of a multidimensional array declaration −


type name[size 1][size 2]...[size N];

For example:

The following declaration creates a two-dimensional integer array −

int dim[3][3];

This integer array will have three rows and three columns.

A two-dimensional array can be thought of as a table, which will have x number of rows and y number of columns

Thus, every element in array a is identified by an element name of the form a[ i ][ j ], where a is the name of the array, and i and j are the subscripts that uniquely identify each element in a.


Initializing Multi-Dimensional Arrays:

Multi dimensioned arrays may be initialized by specifying bracketed values for each row. Following is an array with 3 rows and each row has 4 columns.

int a[3][4] = {  

   {0, 1, 2, 3} ,   /* initializers for row indexed by 0 */

   {4, 5, 6, 7} ,   /* initializers for row indexed by 1 */

   {8, 9, 10, 11}   /* initializers for row indexed by 2 */


The nested braces, which indicate the intended row, are optional. The following initialization is equivalent to previous example −


int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};

Accessing elements in a multidimensional array:

Following program is used to access the elements of a two-dimensional array.

#include <iostream.h>

int main () {

   // an array with 5 rows and 2 columns.

   int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};


   // output each array element's value                      

   for ( int i = 0; i < 5; i++ )

      for ( int j = 0; j < 2; j++ ) {


         cout << "a[" << i << "][" << j << "]: ";

         cout << a[i][j]<< endl;



   return 0;


Report Error/ Suggestion

Related Posts:


Interview Questions

CopyRight © 2020

CopyRight © 2020