点击上方蓝字关注我,了解更多咨询

1、若数组长度和下标访问值出现错误,则会导致数组下标越界。数组下标从0开始,访问值为-1。

2、在使用循环遍历数组元素时,注意防范off-by-one的错误。

对于作为函数参数传入的数组下标,要判断其合法性。

实例

//如果是整形数组
int len = sizeof(array)/sizeof(int);
//如果是字符数组
int len = sizeof(array)/sizeof(char);
//如果是浮点数数组
int len = sizeof(array)/sizeof(double);
//如果是浮点数数组
int len = sizeof(array)/sizeof(float);
for(int i = 0;i < len ; i++)
{//.....
}

END

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

戳“阅读原文”我们一起进步

c语言中如何防止数组下标越界相关推荐

  1. 2-结构体的最后一个成员的定义-C语言中的柔性数组-

    深入浅出C语言中的柔性数组 在日常的编程中,有时候需要在结构体中存放一个长度动态的字符串,一般的做法,是在结构体中定义一个指针成员,这个指针成员指向该字符串所在的动态内存空间,例如: [cpp] vi ...

  2. C语言中不检查数组下标是否越界。

    C语言中不检查数组下标是否越界. 转载于:https://www.cnblogs.com/AsmLearner/p/3405567.html

  3. C语言中关于字符数组输入,scanf没执行

    问题:有时C语言中关于字符数组输入,有的scanf语句没执行. 未执行scanf的代码: #include<stdio.h> int main() {int n;int t=0;scanf ...

  4. c语言字 字符串转换成数组_C语言学习教程之详解C语言中的字符串数组

    在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include 总结 以上 ...

  5. C语言中多维数组的内存分配和释放(malloc与free)(转)

    C语言中多维数组的内存分配和释放(malloc与free)(转) 写代码的时候会碰到多维数组的内存分配和释放问题,在分配和释放过程中很容易出现错误.下面贴上一些示例代码,以供参考. 如果要给二维数组( ...

  6. C语言学习教程之详解C语言中的字符串数组

    在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include <s ...

  7. c语言中文字符串数组,详解C语言中的字符串数组

    在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include #incl ...

  8. c语言中的字符串数组,详解C语言中的字符串数组

    在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include #incl ...

  9. c语言多维指针,C语言中多维数组和多维数组指针的应用

    最近开始好好学习编写CFD程序了,由于计算过程中所涉及的网格节点较多(一维最容易,二维就比较麻烦了,三维的还没有尝试自己动手编程呢),每个节点上都有若干个参数,包括速度,压力,温度,密度等,并且这些参 ...

最新文章

  1. python量化交易策略实例_Python进阶量化交易场外篇3——最大回撤评价策略风险...
  2. 微信公众号api关注接口php,1.1 公众号接口绑定
  3. C++【typedef 关键字 详解】
  4. 【转】Android 最火的快速开发框架XUtils
  5. oracle 序列赋值变量,Oracle变量的定义、赋值及使用
  6. 用计算机写试卷反思,计算机试卷
  7. Eureka 注册中心 简单搭建
  8. 安卓手機 adb shell常用命令
  9. 【51单片机开发板】可调周期、占空比pwm工程
  10. Word2016目录自动生成+页码从目录页后面显示
  11. 利用Python3 读sqlite数据库
  12. 专注儿童编程,核桃编程招人啦~
  13. Java8新特性之三:Stream API
  14. 成功的人生至少需要一张跳板
  15. 人工智能还是人工智障?我tm快崩溃了
  16. Oracle进阶(八)自定义函数(Function)
  17. HackTheBox 简单盒子 之 Horizontall (again,不简单)
  18. 【蓝桥杯单片机备赛】3.【SMG】共阳共阴数码管模板整理及真题实战心得
  19. 作文 我眼中的计算机1000字,你眼中的我作文1000字
  20. 机器学习: 01 决策树分类

热门文章

  1. Fusioncharts参数
  2. 学习路之gis--如何获取中国地图的shp文件(含省级
  3. win10家庭版可以用c语言,手把手教你通过bat批处理开启win10家庭版组策略的图文教程-系统操作与应用 -亦是美网络...
  4. ionic开发笔记三:ionic开发时候需要用到的网址
  5. 用于管理虚拟环境的 Python 工具
  6. Excel打开一片空白,需再次双击进入解决办法
  7. 最全螺栓规格 l 拧紧到塑性区域的扭矩和预紧力大小
  8. 达尔豪西大学 计算机科学,达尔豪西大学计算机科学本科专业.pdf
  9. 面试官问 ,Mybatis SELECT 查询, 集合或者单个对象,如果数据库不存在数据,需要判空吗?
  10. Python实战项目:打乒乓(源码分享)(文章较短,直接上代码)