i> is
<a href="http://en.wikipedia.org/wiki/Static_memory_allocation">allocated statically</a>,
we can let the compiler calculate the total number of locations;
very handy once we start adding more locations.
The calculation is rather obscure to look at,
so we give it a meaningful name <i>numberOfLocations</i>.
The calculation is performed at compile time, not in runtime,
so we can use
<a href="http://en.wikipedia.org/wiki/C_preprocessor">#define</a>
without any performance penalty.
</li>
<li>Line 15:
the p