在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C/C++中的內(nèi)存區(qū)域劃分

汽車玩家 ? 來源:黑馬程序員 ? 作者:黑馬程序員 ? 2020-05-05 18:22 ? 次閱讀

1 代碼區(qū)

存放 CPU 執(zhí)行的機器指令。通常代碼區(qū)是可共享的(即另外的執(zhí)行程序可以調(diào)用它),使其可共享的目的是對于頻繁被執(zhí)行的程序,只需要在內(nèi)存中有一份代碼即可。代碼區(qū)通常是只讀的,使其只讀的原因是防止程序意外地修改了它的指令。另外,代碼區(qū)還規(guī)劃了局部變量的相關(guān)信息

總結(jié):你所寫的所有代碼都會放入到代碼區(qū)中,代碼區(qū)的特點是共享和只讀。

2 全局區(qū)

全局區(qū)中主要存放的數(shù)據(jù)有:全局變量、靜態(tài)變量、常量(如字符串常量)

全局區(qū)的叫法有很多:全局區(qū)、靜態(tài)區(qū)、數(shù)據(jù)區(qū)、全局靜態(tài)區(qū)、靜態(tài)全局區(qū)

這部分可以細分為data區(qū)和bss區(qū)

2.1 data區(qū)

data區(qū)里主要存放的是已經(jīng)初始化的全局變量、靜態(tài)變量和常量

2.2 bss區(qū)

bss區(qū)主要存放的是未初始化的全局變量、靜態(tài)變量,這些未初始化的數(shù)據(jù)在程序執(zhí)行前會自動被系統(tǒng)初始化為0或者NULL

2.3 常量區(qū)

常量區(qū)是全局區(qū)中劃分的一個小區(qū)域,里面存放的是常量,如const修飾的全局變量、字符串常量等

在VS下運行結(jié)果如下:

C/C++中的內(nèi)存區(qū)域劃分

C/C++中的內(nèi)存區(qū)域劃分

C/C++中的內(nèi)存區(qū)域劃分

總結(jié):全局區(qū)存放的是全局變量、靜態(tài)變量和常量

在程序運行后由產(chǎn)生了兩個區(qū)域,棧區(qū)和堆區(qū)

3 棧區(qū)(stack)

棧是一種先進后出的內(nèi)存結(jié)構(gòu),由編譯器自動分配釋放,存放函數(shù)的參數(shù)值、返回值、局部變量等。在程序運行過程中實時加載和釋放,因此,局部變量的生存周期為申請到釋放該段??臻g。

vs運行效果如下

C/C++中的內(nèi)存區(qū)域劃分

C/C++中的內(nèi)存區(qū)域劃分

4 堆區(qū)(heap)

堆是一個大容器,它的容量要遠遠大于棧,但沒有棧那樣先進后出的順序。用于動態(tài)內(nèi)存分配。堆在內(nèi)存中位于BSS區(qū)和棧區(qū)之間。一般由程序員分配和釋放,若程序員不釋放,程序結(jié)束時由操作系統(tǒng)回收。

vs運行效果如下:

C/C++中的內(nèi)存區(qū)域劃分

C/C++中的內(nèi)存區(qū)域劃分

當(dāng)我們把幾個案例放在一起執(zhí)行,就可以看到內(nèi)存將每個區(qū)域劃分的很有條理。每個區(qū)域互不干涉,區(qū)域中的數(shù)據(jù)地址也是非常接近的

C/C++中的內(nèi)存區(qū)域劃分

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10882

    瀏覽量

    212221
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3037

    瀏覽量

    74148
收藏 人收藏

    評論

    相關(guān)推薦

    EE-112:模擬C++的類實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《EE-112:模擬C++的類實現(xiàn).pdf》資料免費下載
    發(fā)表于 01-03 15:15 ?0次下載
    EE-112:模擬<b class='flag-5'>C++</b><b class='flag-5'>中</b>的類實現(xiàn)

    C7000 C/C++優(yōu)化指南用戶手冊

    電子發(fā)燒友網(wǎng)站提供《C7000 C/C++優(yōu)化指南用戶手冊.pdf》資料免費下載
    發(fā)表于 11-09 15:00 ?0次下載
    <b class='flag-5'>C</b>7000 <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>優(yōu)化指南用戶手冊

    TMS320C6000優(yōu)化C/C++編譯器v8.3.x

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000優(yōu)化C/C++編譯器v8.3.x.pdf》資料免費下載
    發(fā)表于 11-01 09:35 ?0次下載
    TMS320<b class='flag-5'>C</b>6000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器v8.3.x

    C語言和C++結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語言和C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?286次閱讀

    C7000優(yōu)化C/C++編譯器

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費下載
    發(fā)表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器

    使用OpenVINO GenAI API在C++構(gòu)建AI應(yīng)用程序

    許多桌面應(yīng)用程序是使用 C++ 開發(fā)的,而將生成式AI(GenAI)功能集成到這些應(yīng)用程序可能會很具有挑戰(zhàn)性,尤其是因為使用像 Hugging Face 這樣的 Python 庫的復(fù)雜性。C++
    的頭像 發(fā)表于 10-12 09:36 ?402次閱讀
    使用OpenVINO GenAI API在<b class='flag-5'>C++</b><b class='flag-5'>中</b>構(gòu)建AI應(yīng)用程序

    ostream在c++的用法

    ostream 是 C++ 標(biāo)準(zhǔn)庫中一個非常重要的類,它位于 頭文件(實際上,更常見的是通過包含 頭文件來間接包含 ,因為 包含了 和 )。 ostream 類及其派生類(如 std::cout
    的頭像 發(fā)表于 09-20 15:11 ?800次閱讀

    C++語言基礎(chǔ)知識

    電子發(fā)燒友網(wǎng)站提供《C++語言基礎(chǔ)知識.pdf》資料免費下載
    發(fā)表于 07-19 10:58 ?7次下載

    C++實現(xiàn)類似instanceof的方法

    函數(shù),可實際上C++沒有。但是別著急,其實C++中有兩種簡單的方法可以實現(xiàn)類似Java的instanceof的功能。 在 C++
    的頭像 發(fā)表于 07-18 10:16 ?613次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>中</b>實現(xiàn)類似instanceof的方法

    C/C++兩種宏實現(xiàn)方式

    #ifndef的方式受C/C++語言標(biāo)準(zhǔn)支持。它不僅可以保證同一個文件不會被包含多次,也能保證內(nèi)容完全相同的兩個文件(或者代碼片段)不會被不小心同時包含。
    的頭像 發(fā)表于 04-19 11:50 ?664次閱讀

    鴻蒙OS開發(fā)實例:【Native C++

    使用DevEco Studio創(chuàng)建一個Native C++應(yīng)用。應(yīng)用采用Native C++模板,實現(xiàn)使用NAPI調(diào)用C標(biāo)準(zhǔn)庫的功能。使用C標(biāo)準(zhǔn)庫hypot接口計算兩個給定數(shù)平方和的平
    的頭像 發(fā)表于 04-14 11:43 ?2682次閱讀
    鴻蒙OS開發(fā)實例:【Native <b class='flag-5'>C++</b>】

    使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯誤

    在前兩篇博客,我們?向您介紹了新的 MISRA C++ 標(biāo)準(zhǔn)?和?C++ 的歷史?。在這篇博客,我們將仔細研究以 C++
    的頭像 發(fā)表于 03-28 13:53 ?822次閱讀
    使用 MISRA <b class='flag-5'>C++</b>:2023? 避免基于范圍的 for 循環(huán)中的錯誤

    C語言內(nèi)存泄漏問題原理

    內(nèi)存泄漏問題只有在使用堆內(nèi)存的時候才會出現(xiàn),棧內(nèi)存不存在內(nèi)存泄漏問題,因為棧內(nèi)存會自動分配和釋放。C
    發(fā)表于 03-19 11:38 ?541次閱讀
    <b class='flag-5'>C</b>語言<b class='flag-5'>內(nèi)存</b>泄漏問題原理

    c語言,c++,java,python區(qū)別

    C語言、C++、Java和Python是四種常見的編程語言,各有優(yōu)點和特點。 C語言: C語言是一種面向過程的編程語言。它具有底層的特性,能夠?qū)τ嬎銠C硬件進行直接操作。
    的頭像 發(fā)表于 02-05 14:11 ?2461次閱讀

    C++簡史:C++是如何開始的

    的 MISRA C++:2023 博客系列的第二部分。 在這篇博客,我們將深入探討 C++ 的歷史、編程語言多年來的發(fā)展歷程以及它的下一步發(fā)展方向。
    的頭像 發(fā)表于 01-11 09:00 ?622次閱讀
    <b class='flag-5'>C++</b>簡史:<b class='flag-5'>C++</b>是如何開始的
    主站蜘蛛池模板: 欧美专区欧美吧 | 日韩毛片免费视频一级特黄 | 亚洲成a人片在线观看中 | 国内久久精品 | 免费在线公开视频 | 欧美三级久久 | 国内自拍网红在综合图区 | 国产天堂网 | 国内精品91久久久久 | 亚洲第一福利网站 | 日韩色网 | sese综合| 免费网站直接看 | 美女视频网站免费播放视 | 国产免费卡1卡2卡 | 深夜偷偷看视频在线观看 | 丰满年轻岳欲乱中文字幕 | 黄色三级欧美 | 九九久久久久午夜精选 | 色噜噜狠狠色综合欧洲 | 亚洲国内精品自在线影视 | 午夜一级毛片看看 | 久久久久久夜精品精品免费啦 | 久久精品国产99国产精品澳门 | 人人草人人干 | 久优草 | 日本特黄特色 | 亚色在线观看 | 福利视频自拍偷拍 | 亚洲成人免费观看 | 赛罗奥特曼银河帝国普通话免费版 | 亚洲欧美日韩动漫 | 91久久夜色精品国产网站 | 三级在线观看网站 | 久操视屏| 四虎在线最新地址4hu | 欧美在线性| 欧美成人aaaa免费高清 | 丁香婷婷啪啪 | 禁漫羞羞入口 | 中文字幕一区二区三区精品 |