C&C++   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C语言 数组下标越界和内存溢出区别 - C语言零基础入门教程大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

目录

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.数组下标越界和内存溢出简介

溢出本义是算术溢出(arithmetic overflow),指算术计算结果无法在一定范围内表示,细分上溢(overflow)和下溢(underflow)。

越界即访问越界(access out of rangE)指对存储的访问不在预先指定的界限内。逻辑上来说可能造成访问越界的计算结果也可以看成一种溢出,这是引申义。只不过两种情况经常一起出现,所以混用了。

二.数组下标越界和内存溢出区别

1、溢出是把大的东西往小的东西里装造成的,会造成程序逻辑异常,但一般不会 abort。

比如一个计时器,最大计 100s 的时,你让他跑了120秒,它就溢出了。

比如一个两个 char ,一个 200 ,一个也是 200 ,相加,结果也就溢出,因为 char 最大就 255.

2、越界是访问或者使用到不属于它的地方,会造成 abort ,甚至死机。

比如 C 语言数组 int a[3],明明只有 3 个元素,你用 a[3],这就越界了;

比如你申请了 100 字节的内存,但你写的时候写到 101 字节去了,这也就是越界。

三.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. C 语言格式控制符/占位符
  6. C 语言逻辑运算符
  7. C 语言三目运算符
  8. C 语言逗号表达式
  9. C 语言 sizeof 和 strlen 函数区别
  10. C 语言 strcpy 和 strcpy_s 函数区别
  11. C 语言 memcpy 和 memcpy_s 区别
  12. C 语言 数组定义和使用
  13. C 语言 数组遍历
  14. C 语言 数组排序 – 冒泡法排序
  15. C 语言 数组排序 – 选择法排序
  16. C 语言 数组排序 – 插入法排序
  17. @L_618_25@
  18. C 语言 数组下标越界
  19. C 语言 数组内存溢出
  20. C 语言 数组下标越界和内存溢出区别

未经允许不得转载:猿说编程 » C 语言 数组下标越界和内存溢出区别

本文由博客 - 猿说编程 猿说编程 发布!

大佬总结

以上是大佬教程为你收集整理的C语言 数组下标越界和内存溢出区别 - C语言零基础入门教程全部内容,希望文章能够帮你解决C语言 数组下标越界和内存溢出区别 - C语言零基础入门教程所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: