堆和棧的區別 堆和棧有什么區別

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

    推薦閱讀