I'm not sure what you're asking.
In some cases it serves a purpose. For example when using an array of strings to convert a weapon index to a weapon name. Since there is not weapon id 0 there's no point of filling that with anything.
And you could of course shift everything by 1 step and use mystringarray[weaponid - 1], but that would just make things complicated for no good reason.