In this chapter, we have taken the basic idea of a one-dimensional array from Chapter 11, Working with Arrays, and extended it to two-dimensional, three-dimensional, and even N-dimensional arrays. A conceptual basis for multi-dimensional arrays has been developed. Then, we have seen how to declare, initialize, access, and iterate over multi-dimensional arrays in C's syntax. Emphasis was placed on zero-based array indices (more appropriately known as offsets) and on the somewhat peculiar order in which indices are specified—left to right from the highest-order dimension to the lowest-order dimension. This order, however, lends itself somewhat elegantly to nested looping to iterate over multi-dimensional arrays. This chapter may have seemed long; the intent was to demonstrate how consistently the same concepts can be applied from one-dimensional arrays to N-dimensional arrays.
In this chapter, we have not spent too much time delving into what the base...