1. 程式人生 > >ios 關於堆 棧,變量存儲等問題解析

ios 關於堆 棧,變量存儲等問題解析

沒有 href blog ima 技術 cnblogs log 變量存儲 問題

技術分享

技術分享

技術分享


當代碼塊一過,裏面的a,b,*c指針都會被系統編譯器自動回收,因為它存放在棧裏面,而OC對象則不會被系統回收,因為它存放堆裏面,堆裏面的內存是動態存儲的,所以需要程序員手動回收內存
總結區別


 
按管理方式分
對於棧來講,是由系統編譯器自動管理,不需要程序員手動管理
對於堆來講,釋放工作由程序員手動管理,不及時回收容易產生內存泄露
按分配方式分
堆是動態分配和回收內存的,沒有靜態分配的堆
棧有兩種分配方式:靜態分配和動態分配
靜態分配是系統編譯器完成的,比如局部變量的分配
動態分配是有alloc函數進行分配的,但是棧的動態分配和堆是不同的,它的動態分配也由系統編譯器進行釋放,不需要程序員手動管理


 
 

出處:http://www.jianshu.com/p/c8e1d91dda99

ios 關於堆 棧,變量存儲等問題解析