数组元素的下标,可以是任何整数。
用变量作为数组下标时,不小心会导致数组越界(变量下标为负数,或者太大)。
负数、大于数组的元素个数的下标,不会导致编译错误,但可能导致程序运行出错,
原因如下:
可能写入了别的变量的内存空间,意外修改其他变量的值,导致程序运行结果不准确;
可能写入指令的内存空间,访问了不该访问的内存区域,导致程序崩溃;
可能在这个编译器,数组越界的程序编译后可以正确运行,但换一个编译器就运行错误了。
假设int a[10];
若写了a[-2]=10;a[10]=100,均可能导致程序出错