首页 > 其他分享 >数组访问越界

数组访问越界

时间:2022-10-22 23:33:15浏览次数:59  
标签:索引 元素 非法 越界 访问 数组

一、是什么

如果定义了一个有n个元素的数组,那么,对这n个元素(下标为0 到 n-1的元素)的访问都合法,而对这n个元素之外的空间进行访问,就是非法的,称为“越界“。

二、如何避免

1)检查传入参数的合法性。

2)可以用传递数组元素个数的方法,即:用两个实参,一个是数组名,一个是数组的长度。在处理的时候,可以判断数组的大小,保证自己不要访问超过数组大小的元素。

3)当处理数组越界时,打印出遍历数组的索引十分有帮助,这样我们就能够跟踪代码找到为什么索引达到了一个非法的值

4)可以加入try catch

标签:索引,元素,非法,越界,访问,数组
From: https://blog.51cto.com/u_13160626/5786206

相关文章

  • 容器是否能代替数组
    在.net中,很多开发者都喜欢使用List来代替数组进行使用。容器不仅封装了数组几乎所有的基本操作,而且还可以动态扩容,在开发过程中十分的方便。以下的场景更加建议使用数组:容器......
  • 【leetcode_C++_哈希表_day5】242. 有效的字母异位词&&349. 两个数组的交集&&202.快乐
    C++知识补充:(不完全,仅针对本题用的知识点)1.C++类&对象关键字public确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。您也可以指定类的成......
  • 数组初步认识和使用
    1.作用:可以同时储存多个数据(就是数据的组合)2.数组的特点a.可以储存多个数据,且只能储存相同类型的数据,有我们定义b.数组中储存的个数是固定的,有我们自己定义。3.如何声明一个......
  • 数据结构:数组
    一、是什么数组是一种线性表结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。首先我们需要理解一下这句话,以便于我们更好地理解数组。1.1线性表线性表是n个具......
  • 数据结构_用数组实现环形队列
    思路分析:一、front就指向队列的第一个元素,也就是说,arr[front]就是队列的第一个元素 二、rear就是指向队列的最后一个元素的后一个位置,我们需要空出这个rear指向的空间(......
  • Vue笔记7 父子组件访问
                      ......
  • nginx代理mysql访问
    配置stream的前提,需要启用--with-stream--with-stream_ssl_module自己单独独立一个conf 文件时不成功,最后放到nginx.confhttp 里,怎么配置也不成功,后来只能拿到http外面......
  • java 复杂对象数组练习 添加和遍历
       Javabeanpackagetest_4;publicclassStudent{privateintid;privateStringname;privateintage;publicStudent(){}publicStu......
  • 定义一个大小为30的整型一维数组x,并将该数组的前2个元素初始化为1,使用循环语句将Fibon
    定义数组和数组元素赋值1、定义一个大小为30的整型一维数组x,并将该数组的前2个元素初始化为1,使用循环语句将Fibonacci(菲波那契)数列的前30项依次赋给x[0]、x[1]、x[2]……......
  • Linux网络服务之SSH(远程访问及控制)
    1SSH1.1SSH概念SSH(SecureShell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时......