数组越界是很可怕的,会产生不可预料的结果,不但程序会崩溃,你的人也会跟着崩溃!
数组a[100]中的元素是从a[0]到a[99]这100个元素,绝非a[1]到a[100],先把这些搞清
如果定义了数组a[100],但要给元素a[100]赋值或者要读取a[100]的值,这就是数组越界
如果给越界数组元素a[100]赋值,就会产生段错误或者其他崩溃信息,因为数组名a是个地址常量,如果int在你机子上占4字节的话,a指向你分配好的那段4*100字节的内存块,并没有分配到这段内存块的后面块区,如果向a[100]赋值,可能就会给别的程序造成麻烦甚至致命破坏,甚至如果越界内存块刚好就是系统程序代码或者系统的变量占据的内存块,那就有大麻烦了,因此系统就会保护这段没有被申请的内存块,会自动报错,使程序崩溃。
如果读取越界数组元素a[100]的值,系统会让你读取,这不会伤害别的程序的进行,只是读取的这个值是没有意义的,是垃圾值
所以说,不要越界访问,系统很生气,后果很严重!