jiajia9492
2016-02-23 06:51
采纳率: 100%
浏览 2.3k
已采纳

C语言数组越界的含义

听同学说C语言数组越界会导致出错,我试验了下不会,谁能写一个数组越界出错的例子?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • blownewbee 2016-02-23 07:06
    已采纳

    这个不一定能观察到,因为C没有越界检查,你可以这么写:
    int a[10];
    int i=0;
    while (true)
    {
    a[i++] = i;
    }
    肯定会报错

    点赞 打赏 评论
  • 徐小hi 2016-02-23 07:33

    越界不就是超过数组的大小,随便写个拷贝就行了

    点赞 打赏 评论
  • ???_Neal 2016-02-23 14:03

    例如你声明数组a[10],如果访问a[10]就发生越界错误,越界错误的本质是访问了未知内存空间,如果之前此区域内存被使用后,此时访问获得的数据是之前存的数据,至于报错在vc中是随机的。在linux系统下使用gcc编译器直接报段错误

    点赞 打赏 评论
  • Coder.L 2016-08-08 11:37

    xcode里oc编写数组 如果下标越界了
    有可能什么事都不发生

    有可能程序直接崩溃
    有可能莫名的改变了其他变量

    点赞 打赏 评论

相关推荐 更多相似问题