內存地址從低地址到高地址依次是 代碼區(qū) -> 常量存儲區(qū) -> 靜態(tài)存儲區(qū) -> 堆(heap) -> 棧(stack)
代碼區(qū)和常量存儲區(qū)稱為 只讀存儲區(qū) 堆和棧稱為 動態(tài)存儲區(qū)
**
代碼區(qū): 機器代碼 常量存儲區(qū): 程序中的字符串 靜態(tài)存儲區(qū): 靜態(tài)變量和全局變量 棧: 存放函數(shù)參數(shù)值和局部變量值 執(zhí)行函數(shù)調用分配內存,執(zhí)行結束釋放內存,存在時間由系統(tǒng)決定 棧的數(shù)據(jù)存儲形式: 后進先出 棧底在高地址端,存放數(shù)據(jù)向低地址端進行,可以理解為向下生長 棧的空間是 M 兆級的 堆: 動態(tài)分配函數(shù)調用的內存都是在堆上調用的,存在周期由程序員決定。 堆從地地址端開始分配 向上生長 易容易造成內存泄露堆的空間是 G 級
**
新聞熱點
疑難解答