C语言规定的合法数据常量是什么样的
2个回答
展开全部
1.
溢出:数据类型超过了计算机字长的界限而出现的数据溢出;
2.
溢出可能原因:
当应用程序读取用户数据,复制到应用程序开辟的内存缓冲区中,却无法保证缓冲区的空间足够时
(假设定义数组int
array[10],
而在调用时使用array[11]
或存放的数据超过int类型容量等),
内存缓冲区就可能会溢出.
3.
溢出因素分析:
由于c/c++语言所固有的缺陷,既不检查数组边界,又不检查类型可靠性,且用c/c++语言开发的程序由于目标代码非常接近机器内核,因而能够直接访问内存和寄存器,只要合理编码,c/c++应用程序在执行效率上必然优于其它高级语言。然而,c/c++语言导致内存溢出问题的可能性也要大许多。
4.
对于堆栈溢出,程序会直接终止,返回错误。
对于数组类型的边界越界溢出,有时会产生中断错误,有时仍然可以继续运行,但是结果不正确。
对于基本类型的最大值溢出,会产生不确定的结果,程序仍然能够正常运行,但是结果不正确。
溢出:数据类型超过了计算机字长的界限而出现的数据溢出;
2.
溢出可能原因:
当应用程序读取用户数据,复制到应用程序开辟的内存缓冲区中,却无法保证缓冲区的空间足够时
(假设定义数组int
array[10],
而在调用时使用array[11]
或存放的数据超过int类型容量等),
内存缓冲区就可能会溢出.
3.
溢出因素分析:
由于c/c++语言所固有的缺陷,既不检查数组边界,又不检查类型可靠性,且用c/c++语言开发的程序由于目标代码非常接近机器内核,因而能够直接访问内存和寄存器,只要合理编码,c/c++应用程序在执行效率上必然优于其它高级语言。然而,c/c++语言导致内存溢出问题的可能性也要大许多。
4.
对于堆栈溢出,程序会直接终止,返回错误。
对于数组类型的边界越界溢出,有时会产生中断错误,有时仍然可以继续运行,但是结果不正确。
对于基本类型的最大值溢出,会产生不确定的结果,程序仍然能够正常运行,但是结果不正确。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询