堆和棧到底有什麼差別?
這個問題往往在面試中會被問到。
棧和堆的從實作上來說,本質是一樣的。
棧的大小可以在編譯時,或者線建立時指定。
有空再補全。
先貼個程式:
通過程序管理器可以看到,在沒有輸入i之前,程式占用的記憶體是很小的,幾百k,在輸入i之後,程式占用記憶體不斷上升,最終棧溢出,程式出錯。
#include <iostream>
using namespace std;
int f(int i)
{
//cout<<i<<endl;
return f(i + 1);
}
int main()
{
int i;
cin>>i;
f(i);
return 0;
}