堆和棧的區别主要有五大點,分别是:
1、
申請方式的不同。棧由系統自動分配,而堆是人為申請開辟;
2、
申請大小的不同。棧獲得的空間較小,而堆獲得的空間較大;
3、
申請效率的不同。棧由系統自動分配,速度較快,而堆一般速度比較慢;
4、
存儲内容的不同。棧在函數調用時,函數調用語句的下一條可執行語句的地址第一個進棧,然後函數的各個參數進棧,其中靜态變量是不入棧的。而堆一般是在頭部用一個字節存放堆的大小,堆中的具體内容是人為安排;
5、
底層不同。棧是連續的空間,而堆是不連續的空間
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!