五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

1 內(nèi)存分區(qū)模型

2023-04-09 11:19 作者:蓉漂程序張  | 我要投稿

C++程序在執(zhí)行時,將內(nèi)存大方向劃分為4個區(qū)域

  • 代碼區(qū):存放函數(shù)體的二進(jìn)制代碼,由操作系統(tǒng)進(jìn)行管理的

  • 全局區(qū):存放全局變量和靜態(tài)變量以及常量

  • 棧區(qū):由編譯器自動分配釋放, 存放函數(shù)的參數(shù)值,局部變量等

  • 堆區(qū):由程序員分配和釋放,若程序員不釋放,程序結(jié)束時由操作系統(tǒng)回收

1.1 程序運(yùn)行前

在程序編譯后,生成了exe可執(zhí)行程序,未執(zhí)行該程序前分為兩個區(qū)域

代碼區(qū):

存放 CPU 執(zhí)行的機(jī)器指令

代碼區(qū)是共享的,共享的目的是對于頻繁被執(zhí)行的程序,只需要在內(nèi)存中有一份代碼即可

代碼區(qū)是只讀的,使其只讀的原因是防止程序意外地修改了它的指令

全局區(qū):

全局變量和靜態(tài)變量存放在此.

全局區(qū)還包含了常量區(qū), 字符串常量和其他常量也存放在此.

該區(qū)域的數(shù)據(jù)在程序結(jié)束后由操作系統(tǒng)釋放

總結(jié):

  • C++中在程序運(yùn)行前分為全局區(qū)和代碼區(qū)

  • 代碼區(qū)特點(diǎn)是共享和只讀

  • 全局區(qū)中存放全局變量、靜態(tài)變量、常量

  • 常量區(qū)中存放 const修飾的全局常量 ?和 字符串常量

1.2 程序運(yùn)行后


棧區(qū):

由編譯器自動分配釋放, 存放函數(shù)的參數(shù)值,局部變量等

注意事項(xiàng):不要返回局部變量的地址,棧區(qū)開辟的數(shù)據(jù)由編譯器自動釋放

示例:

棧區(qū)

堆區(qū):

由程序員分配釋放,若程序員不釋放,程序結(jié)束時由操作系統(tǒng)回收

在C++中主要利用new在堆區(qū)開辟內(nèi)存

示例:

堆區(qū)

總結(jié):

堆區(qū)數(shù)據(jù)由程序員管理開辟和釋放

堆區(qū)數(shù)據(jù)利用new關(guān)鍵字進(jìn)行開辟內(nèi)存

1.3 new操作符

C++中利用new操作符在堆區(qū)開辟數(shù)據(jù)

堆區(qū)開辟的數(shù)據(jù),由程序員手動開辟,手動釋放,釋放利用操作符 delete

語法:new 數(shù)據(jù)類型

利用new創(chuàng)建的數(shù)據(jù),會返回該數(shù)據(jù)對應(yīng)的類型的指針

示例1: 基本語法

示例2:開辟數(shù)組


1 內(nèi)存分區(qū)模型的評論 (共 條)

分享到微博請遵守國家法律
元朗区| 茂名市| 和田县| 房产| 泊头市| 青田县| 新竹市| 禄丰县| 湘潭市| 红安县| 浏阳市| 阳朔县| 林芝县| 基隆市| 丹棱县| 龙州县| 上思县| 方山县| 海兴县| 潮州市| 济宁市| 井冈山市| 登封市| 长垣县| 龙南县| 锦州市| 明星| 伊吾县| 潞城市| 城固县| 古蔺县| 咸宁市| 太白县| 太康县| 永昌县| 彭山县| 奇台县| 桂阳县| 宝清县| 靖安县| 扶风县|