youtube seems popular these days, Always liked text, myself.

Computer memory is just a sequence of locations.

All the work to notionally use it as rows, columns, is just the addressing, convention.

Most such systems are rectangular, so each row is by each column, by each next dimension.

Depending on the language and implementation, rows or columns first, but basically

I use Matlab mostly. in Matlab the first dimension is called "column" the second "row".

[5] means a column of 5 values.

[5,2] means do the same as above, twice, treat the first 5 as the first row, the next 5 as the second row. The second column of 5 is just offset and on the end of the first column.

[5,3] means do the same as above, three times, treat the first 5 as the first row, the next 5 as the second row, the next 5 as the third row

Moving to a row of columns is just an offset into the line of values, with the offset able to be calculated by the indices and the known length of each dimension.

[5,3,1] means do the same as above, three times, treat the first 5 as the first row, the next 5 as the second row, the next 5 as the third row

[5,3,2] means do the same as above, twice.That is [5,3] followed by [5,3]

.

[5,3] is like [5] [3]

[5,3,2] is like [5,3][2] or as in the language you are using [5][3][2] each dimensions replicates whatever is to the left of it.

So 3 by 2 columns of 5

or 2 blocks of { 3 rows of columns that are 5 long }

so

[5][2][3] is [5] replicated [2][3] which is [5] replicated [2] replicated [3]

Area of rectangular volume is l * b * h