Assume the following C declaration: char A[2][2][2][2]; for a multidimensional array of characters.

Recall that C arrays are 0-based and stored in "row-major" order and that the char data type in C requires one byte of storage. The array A will be stored in 16 consecutive bytes of memory starting at address A (since array names in C are essentially constant pointers). Describe the "address mapping" for the 16 elements of this array. For example, address A+0 contains element a[0][0][0][0]. Which element does address A+1 contain? address A+2? etc. (One way to think about this problem is to realize that A is a two-element array of three-dimensional arrays. Each of these is a two-element array of two-dimensional arrays and so on. All elements with the same leftmost index are stored contiguously (next to each other)). 

