heap和stack區(qū)別是什么(程序的內(nèi)存分配)

發(fā)布時(shí)間:2024-08-21
heap:是由malloc之類函數(shù)分配的空間所在地。地址是由低向高增長的。
stack:是自動(dòng)分配變量,以及函數(shù)調(diào)用的時(shí)候所使用的一些空間。地址是由高向低減少的。
預(yù)備知識(shí)—程序的內(nèi)存分配
一個(gè)由c/c++編譯的程序占用的內(nèi)存分為以下幾個(gè)部分
1、棧區(qū)(stack)— 由編譯器自動(dòng)分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧。
2、堆區(qū)(heap) — 一般由程序員分配釋放, 若程序員不釋放,程序結(jié)束時(shí)可能由os回收 。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。
3、全局區(qū)(靜態(tài)區(qū))(static)—,全局變量和靜態(tài)變量的存儲(chǔ)是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域, 未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域。 - 程序結(jié)束后有系統(tǒng)釋放
4、文字常量區(qū) —常量字符串就是放在這里的。 程序結(jié)束后由系統(tǒng)釋放
5、程序代碼區(qū)—存放函數(shù)體的二進(jìn)制代碼。
上一個(gè):R2000鍋爐液位計(jì)電極
下一個(gè):win11系統(tǒng)備份和還原(備份 win10)

厚聲0201WMF590JTEE今日行情、最新報(bào)價(jià)
浮游菌采樣器的設(shè)計(jì)原理和操作方法分析
華榮BAD308E-T 防爆調(diào)光工作燈
氣體差壓傳感器的應(yīng)用
隔音橡塑板廠家供貨商
機(jī)械線纜拖鏈類別分配
不坑錢的良心手游,哪幾個(gè)不太坑錢良心手游
高密度聚乙烯聚氨酯塑料復(fù)合管概況總結(jié)
低速推流器的結(jié)構(gòu)特性:
巧用發(fā)酵淘米水自制花肥
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos