• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

数组越界是指什么

65395d816bd5c387 2019-04-29 浏览量:2287
数组越界是指什么
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 数组越界就是指在进行数组操作时访问了本不属于你的位置。例如:uint8_t buff[10];实际能访问的元素为buff[0]~buff[9]这10个,buff[10]就越界了,由于C语言对指针和数组并没有进行限制,所以编译器不会报错。但这样的操作会带来不可预测的结果
    • 发布于 2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:9
  • 使用变量作为数组索引访问数组时,如果索引变量值大于定义的数组长度数时称为越界,大多数情况越界写数据会破坏其他数据结构,越界读读回的数据未知。
    • 发布于2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 所谓的数组越界,简单地讲就是指数组下标变量的取值超过了初始定义时的大小,导致对数组元素的访问出现在数组的范围之外;
    语言并不检验数组边界,数组的两端都有可能越界,从而使其他变量的数据甚至程序代码被破坏;
    为了避免越界,尽量做到显式地指定数组的边界
    对数组做越界检查,确保索引值位于合法的范围之内
    ③获取数组的长度时不要对指针应用 sizeof 操作符

    • 发布于2019-04-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 也就是如果有一个20大小的数组,但是你访问了第21个数据,就是越界了
    • 发布于2019-04-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 比如定义100个数组int a[100]; 如果你操作超过100个数组就是越界比如a[100]=0;这样就是错误的,只要大于等于100多不对
    • 发布于2019-05-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 引用的地址,超出数组内存空间
    • 发布于2019-05-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 就是操作一个数组的时候,操作的单元已经超越了这个数组的范围,比如一个数组长度1000,如果操作了1001个字节,那就是越界操作

    越界操作会导致不该改的内存空间数据被改动,有可能引发系统崩溃

    • 发布于2019-05-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 简单来说,数组定义时就确定了长度,存储的数据超过了定义的长度,就是数组越界或者叫溢出
    • 发布于2019-05-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 这就是个定义的问题,比如你的数组一共十个数,一般就是0-9,你写名称的时候超过了0-9的范围,这就出错了,至于这样的错误会带来什么样的结果还是要具体到程序中的应用位置来看,说不定没啥影响都不报错,但也可能因此死机了
    • 发布于2019-05-07
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

数组越界是指什么