c语言中各个型的数据的溢出是什么样的?

 我来答
岑志文全素
2019-05-24 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:790万
展开全部
1.
溢出:数据类型超过了计算机字长的界限而出现的数据溢出;
2.
溢出可能原因:

应用程序读取用户数据,复制到应用程序开辟的内存缓冲区中,却无法保证缓冲区的空间足够时
(假设定义数组int
Array[10],
而在调用时使用Array[11]
或存放的数据超过int类型容量等),
内存缓冲区就可能会溢出.
3.
溢出因素分析:

由于C/C++语言所固有的缺陷,既不检查数组边界,又不检查类型可靠性,且用C/C++语言开发的程序由于目标代码非常接近机器内核,因而能够直接访问内存和寄存器,只要合理编码,C/C++应用程序在执行效率上必然优于其它高级语言。然而,C/C++语言导致内存溢出问题的可能性也要大许多。
4.
对于堆栈溢出,程序会直接终止,返回错误。
对于数组类型的边界越界溢出,有时会产生中断错误,有时仍然可以继续运行,但是结果不正确。
对于基本类型的最大值溢出,会产生不确定的结果,程序仍然能够正常运行,但是结果不正确。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式