内存访问越界
发布时间: 2024-09-11 07:54:47
① 内存越界是什么意思
内存越界是软件系统主要错误之一,其后果往往不可预料且非常严重。更麻烦的是,它出现的时机是随机的,表现出来的症状是随机的,而且造成的后果也是随机的,这会使程序员很难找出这些Bug的现象和本质之间的联系,从而给Bug的定位带来极大的困难。
读越界,即读了不属于自己的数据。如果所读的内存地址是无效的,程序立刻崩溃;如果所读内存地址是有效的,在读的时候不会马上出现问题,但由于读到的数据是随机的,因此它会造成不可预料的后果。
(1)内存访问越界扩展阅读:
内存数组越界错误主要包括数组下标取值越界和指向数组的指针的指向范围越界。
数组下标取值越界主要是指访问数组时,下标的取值不在已定义好的数组的取值范围,而访问的是无法获取的内存地址,若取值不在这个范围,就出现越界错误。
指向数组的指针的指向范围越界表示当定义的指针 p 若指向了数组的首地址时(即 p=a),若对其不断进行操作 p++,则最后会导致指针 p 指向大于该数组范围的上界,从而使程序访问了数组以外的存储单元,造成数组越界。
热点内容