Zero-based indexing refers to the practice of numbering the elements of an array or vector starting at 0 rather than 1. Although it might seem arbitrary to start counting at 0 rather than at 1, there are historical reasons for this decision, stemming from the assembly language ancestry of the C language. For a historical example where zero-based indexing would have made things much simpler, click here