內存分配方式有三種:
1.從靜態存儲區域分配:內存在程序編譯的時候就已經分配好了,這塊內存在程序整個運行週期內都存在,例如:全局 變量、static變量;
2.在棧上創建內存:在函數執行時,函數內的局部變量的存儲單元都可以在棧上創建,函數調用結束時這些存儲單元會 被自動釋放。棧內存分配預算內置於處理器的指令集合中,效率很高,但是能夠分配的內存容量有限;
3.在堆上分配內存:動態內存分配,程序在運行時調用malloc或者new申請任意多的內存,程序員需要自己負責在什麼 時候調用free和delete來釋放使用完的內存,動態內存的生命週期有程序員決定,使用起來非常靈活。