Covers why arrays are zero indexed and start at zero. Arrays in C and C++ are zero-based because array names indicate the address of the first element. Arrays are zero based in other languages like C# and Java for historical reasons, and it's just easier to work with once you are used to arrays being zero-based.