溢出一般是指计算机在运算过程中产生的
溢出一般是指计算机在运算过程中产生的(B.数超过了机器的位所表示的范围)。
A.数据量超过了内存容量。
B.数超过了机器的位所表示的范围。
C.数超过了变量的表示范围。
D.以上答案都不对。
【解析】假如我们设定一个变量为整数时,程序会向作业系统要求4个字节(32bits)来存放资料其可存放的范围为 -32768∼+32767 ,当数值超过这个范围时,因内存空间已固定为32bits,无法再增加,在C语言里只取32bits,就会造成溢出。故选:B。
溢出是黑客利用操作系统的漏洞,专门开发了一种程序,加相应的参数运行后,就可以得到你电脑具有管理员资格的控制权,你在你自己电脑上能够运行的东西他可以全部做到,等于你的电脑就是他的了。溢出是程序设计者设计时的不足所带来的错误。
在几乎所有计算机语言中,不管是新的语言还是旧的语言,使缓冲区溢出的任何尝试通常都会被该语言本身自动检测并阻止(比如通过引发一个异常或根据需要给缓冲区添加更多空间)。但是有两种语言不是这样:C 和 C++ 语言。C 和 C++ 语言通常只是让额外的数据乱写到其余内存的任何位置,而这种情况可能被利用从而导致恐怖的结果。
更糟糕的是,用 C 和 C++ 编写正确的代码来始终如一地处理缓冲区溢出则更为困难;很容易就会意外地导致缓冲区溢出。除了 C 和 C++ 使用得 非常广泛外,上述这些可能都是不相关的事实;例如,Red Hat Linux 7.1 中 86% 的代码行都是用 C 或 C ++ 编写的。因此,大量的代码对这个问题都是脆弱的,因为实现语言无法保护代码避免这个问题。