C语言的优势在于它的灵活性,这是由程序员自己控制的。编译器可以帮助防止错误,但有些程序利用溢出,因此溢出并不完全是错误。
1. 溢出:数据类型超过计算机字长限制时数据溢出;
2。溢出的可能原因:当应用程序读取用户数据并将其复制到应用程序打开的内存缓冲区,但缓冲区空间无法保证时(假设定义了数字组intarray,调用时使用数组,或存储的数据超过int type的容量等)溢出因子分析:由于C/C语言固有的缺陷,既不检查数组边界,也不检查类型可靠性,而且C/C语言开发的目标代码非常接近机器内核,因此可以直接访问内存和寄存器。只要代码合理,C/C程序就能顺利运行,应用程序的效率优于其他高级语言。然而,C/C语言导致内存溢出的可能
一般来说没有危害。C语言编写程序时,由于需要人工控制和干预内存的申请和释放,并且要保证内存访问的正确性,如果编程时不小心,导致了存储的溢出,也就占用了本不该这个程序使用的内存空间,会导致程序运行的失败,甚至崩溃,但也只是限于这个程序而已,当今的操作系统,包括windows或是linux或是mac os,都是多进程多任务的操作系统,单个程序的崩溃不会导致对整个电脑的损害,希望以上可以帮助到您。