写栈溢出函数,堆溢出函数

写栈溢出函数,堆溢出函数

1.栈溢出

栈溢出,就是说栈的空间已经不够了。

什么时候会用到栈的空间呢?一般的指令不可能把栈搞到溢出。通常是局部变量和函数调用(函数参数和返回地址)会占用栈的空间。

栈溢出不过两种情形:如果开一个很大的局部变量,会造成栈溢出;如果函数无穷递归,也是会造成栈溢出的。

出自http://www.programlife.net/unexpected-stack-overflow.html

 

2.堆溢出

其实就是申请空间之后,使用这个空间使用了gets()函数,输入的数据超过了申请的空间大小,导致覆盖带其它程序的数据。

http://blog.csdn.net/leisure512/article/details/4190667

原文地址:https://www.cnblogs.com/wufengv5/p/3256357.html