91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

堆和棧的區(qū)別

flyingstar01 ? 來源:flyingstar01 ? 作者:flyingstar01 ? 2025-11-27 18:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一個由C/C 編譯的程序占用的內存分為以下幾個部分:
棧區(qū)(stack):由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似于數據結構中的棧。
堆區(qū)(heap):一般由程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收 。注意它與數據結構中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。
全局區(qū)(靜態(tài)區(qū))(static):全局變量和靜態(tài)變量的存儲是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域, 未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域。- 程序結束后由系統釋放。
文字常量區(qū):常量字符串就是放在這里的。程序結束后由系統釋放。
程序代碼區(qū):存放函數體的二進制代碼。

申請方式:
棧區(qū)(stack):
由系統自動分配。例如,聲明在函數中一個局部變量 int b;
系統自動在棧中為b開辟空間

堆區(qū)(heap):
需要程序員自己申請,并指明大小,在c中malloc函數
如p1 = (char *)malloc(10);
在C 中用new運算符
如p2 = new char[10];
但是注意p1、p2本身是在棧中的。

審核編輯 黃宇

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

    關注

    0

    文章

    694

    瀏覽量

    35153
  • STACK
    +關注

    關注

    0

    文章

    15

    瀏覽量

    3528
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LMP93601:用于熱電傳感器的高性能模擬前端

    LMP93601:用于熱電傳感器的高性能模擬前端 在電子設計領域,熱電傳感器的應用日益廣泛,像建筑自動化里的 HVAC 系統控制、手勢識別等。而與之匹配的模擬前端(AFE)芯片的性能,對整個系統
    的頭像 發(fā)表于 02-25 14:00 ?157次閱讀

    IPv6 Only 進入倒計時 ,單替代雙成網絡演進必然選擇

    2025年末,中國工程院院士鄔賀銓在“2026ICT行業(yè)趨勢年會”上強調“雙是過去的妥協,IPv6Only才是未來的必然”,這一判斷精準點出了全球網絡協議演進的核心方向。隨著技術兼容方案成熟、政策
    的頭像 發(fā)表于 12-23 09:59 ?1532次閱讀
    IPv6 Only 進入倒計時 ,單<b class='flag-5'>棧</b>替代雙<b class='flag-5'>棧</b>成網絡演進必然選擇

    Amphenol ZTPD - 2210數字輸出熱電探測器深度解析

    Amphenol ZTPD - 2210數字輸出熱電探測器深度解析 在電子工程領域,傳感器是獲取環(huán)境信息的關鍵部件。今天,我們要深入探討Amphenol Advanced Sensors的ZTPD
    的頭像 發(fā)表于 12-10 11:35 ?466次閱讀

    使用Keil MicroLIB時自動設置大小

    Keil編譯項目,如果使用微庫MicroLIB,就可以使用malloc。微庫內部位置一個管理模塊。 芯片的RAM大小是固定了的,前面分為全局變量,后面分給,這是一般開發(fā)方式。 但是我們在開發(fā)
    發(fā)表于 12-09 07:04

    Stack到底用來干嘛的呢?

    Stack_Size就是大小,0x00000400就是代表有1K(0x400/1024)的大小。 那這個到底用來干嘛的呢? 比如說我們函數的形參、以及函數里定義的局部變量就是存儲在里,所以
    發(fā)表于 12-01 08:04

    在Keil5中查看大小

    1、修改啟動文件: 方法說明:大小通常在啟動文件中定義??梢酝ㄟ^直接修改這個文件中的Stack_Size變量來調整大小。 操作步驟:找到對應的啟動文件,定位到Stack_Size的定義處,修改
    發(fā)表于 11-14 06:32

    如何在應用程序調試期間分析使用情況

    隨著 AMD Vitis 統一軟件平臺 2021.2 的發(fā)布,Vitis 引入了一個 Tcl 腳本,用于在應用程序運行的特定時間點協助查找的內存使用情況。該腳本已延續(xù)到后續(xù)的 Vitis 版本
    的頭像 發(fā)表于 10-24 16:54 ?885次閱讀
    如何在應用程序調試期間分析<b class='flag-5'>棧</b>和<b class='flag-5'>堆</b>使用情況

    這個大小我設置256就是start error 設置128一會start success 一會start error是什么情況?

    error\"); } return 0; } 這個大小我設置256就是start error 設置128一會start success 一會start error是什么情況
    發(fā)表于 09-29 07:44

    水泥廠料機與取料機無線連鎖控制解決方案實施案例

    在水泥廠的生產流程中,料機和取料機協同作業(yè)至關重要。某大型水泥廠的料區(qū)和取料區(qū)相隔一定距離,以往采用有線連接實現二者的連鎖控制,但隨著生產規(guī)模擴大和設備老化,問題頻發(fā)。
    的頭像 發(fā)表于 09-02 18:06 ?861次閱讀
    水泥廠<b class='flag-5'>堆</b>料機與取料機無線連鎖控制解決方案實施案例

    自動駕駛中常提的“全”是個啥?有必要“全”嗎?

    [首發(fā)于智駕最前沿微信公眾號]隨著自動駕駛技術落地,越來越多車企公布了自己的自動駕駛方案,在很多車企的宣傳中,會使用“全自研”的說法來證明自己的實力。所謂“全”,字面意思是全套技術的自主開發(fā)
    的頭像 發(fā)表于 08-27 09:43 ?1126次閱讀
    自動駕駛中常提的“全<b class='flag-5'>棧</b>”是個啥?有必要“全<b class='flag-5'>棧</b>”嗎?

    請問wifi SOC與 wifi MCU的區(qū)別?

    想詳細了解wifi SOC與 wifi MCU的區(qū)別?比如說為啥54591不可以獨立運行,沒有內置協議嗎?
    發(fā)表于 07-09 08:30

    如何理解整流橋?

    核心概念一句話:整流橋,就是把“來回跑”的交流電,變成“只往一個方向跑”的直流電的“交通警察”。 一、為什么需要整流? 想象一下水流: 交流電 (AC): 像海水潮汐,一會兒涌向岸邊(正方
    的頭像 發(fā)表于 06-05 17:14 ?1213次閱讀
    如何理解整流橋<b class='flag-5'>堆</b>?

    精準計量·高效適配:分流器一體式直流電能表或成為充電最佳搭檔

    探討充電如何重構充電生態(tài),并解析DJZ1226一體化直流電能表在這充電的應用。
    的頭像 發(fā)表于 04-16 14:50 ?939次閱讀
    精準計量·高效適配:分流器一體式直流電能表或成為充電<b class='flag-5'>堆</b>最佳搭檔

    深入淺出解析低功耗藍牙協議

    Bluetooth LE協議為什么要分層?怎么理解Bluetooth LE“連接”?如果Bluetooth LE協議只有ATT層沒有GATT層會發(fā)生什么? 一、協議框架 一般而言,我們把某個
    的頭像 發(fā)表于 04-09 14:49 ?1282次閱讀
    深入淺出解析低功耗藍牙協議<b class='flag-5'>棧</b>

    :整流電路的“中流砥柱”

    大家好!今天我們來聊一聊電子電路中一個非常重要的元器件——橋。無論是家用電器、工業(yè)設備,還是通信設備,橋都扮演著不可或缺的角色。它雖然看起來不起眼,但卻是整流電路的“中流砥柱”。那么,橋到底是
    的頭像 發(fā)表于 04-01 17:07 ?2703次閱讀