堆和棧有什么區別 堆和棧有何區別?


堆和棧有什么區別 堆和棧有何區別?

文章插圖
1、申請方式的不同:棧由系統自動分配,而堆是人為申請開辟 。
【堆和棧有什么區別 堆和棧有何區別?】2、申請大小的不同:棧獲得的空間較小,而堆獲得的空間較大 。
3、申請效率的不同:棧由系統自動分配,速度較快,而堆一般速度比較慢 。
4、存儲內容的不同:棧在函數調用時,函數調用語句的下一條可執行語句的地址第一個進棧,然后函數的各個參數進棧,其中靜態變量是不入棧的 。而堆一般是在頭部用一個字節存放堆的大小,堆中的具體內容是人為安排 。
5、底層不同:棧是連續的空間,而堆是不連續的空間 。

    推薦閱讀