Arrays with a variable index are evaluated at run-time to return/assign the value of that array location.
Arrays with a constant index are evaluated at compile-time, and through "Constant Folding" is reduced to a scaler variable.
As with any other scaler variable, it can be used as the start of an array.
With a variable index, there's no way for the compiler to know you wanted the array location, instead of the value at that location.
The language just doesn't allow for it.
If the language was changed, it would break everyone's existing programs.
Bookmarks