Multi-dimensional Arrays

So far the strings and arrays we have used have been 1-dimensional . That is, they only have one coordinate which indicates the position along a linear list. We can define 2-dimensional arrays in a similar way, but this time two sets of square brackets are used. 

eg. int matrix[4][4]; 

The array is now in the form of a square rather than a line. Elements of the array need to be indexed with two coordinates... 

eg. matrix[3][1] = 1; 

As before, the name of the array itself refers to the address of the start of the array (top left corner if you prefer). In this case matrix[2] would refer to the address of the start of the third row of the array. It is therefore necessary to be very sure that you are using the correct number of dimensions when referring to an array. 

There is no practical limit to the number of dimensions of an array, although in practice, more than three dimensions is rarely used. 

eg. area[8][8][8]; 

The amount of memory required to hold multi-dimensional arrays increases rapidly as the dimensions increase. 

2-dimensional arrays are convenient for storing and processing raster data... 

======================
example : ar[10][10];
          ar[row][col]; /* hence row = 10 and col = 10 , start of row 10 and start of column 10 */
