well,if you know the definition for an array.you can understand the two-dimensional array.
basically,a 2-d array can be imagined to be an array of arrays.
i.e. you can imagine a 2-d array as a matrix.
a[m][n] can be imagined to be a matrix of order mbyn.
where m denotes the rows and n denoted the colums.

you can declare a 2-d- array like this
a[4][2]={1,2,3,4,5,6,7,8}

now memory allocation takes place like this
a[0][0]=1,a[0][1]=2,a[1][0]=3 ..... and so on.

remember a 2-d array is an array of arrays and a 3-d array is an array of array of arrays. confusing? just let fly your imagination and you will discpver that there is nothing easier than arrays.

hope this was helpful.this surely made me recollect 2-d arrays.