深刻體會一次堆記憶體和棧記憶體的區別

2021-10-01 23:16:58 字數 879 閱讀 1479

#define _crt_secure_no_warnings

#include#include#include#include//字母

char w[5] = ;

//年份

// 20200 306

// 20200 106

int basey = 20200; //前部分相同

int maxy = 306; // 306-106=200 rand()%200+106 106-306

int miny = 106;

//序號

int mimn = 1;

int maxn = 999;

//隨機生成乙個字母

char randomw()

//隨機生成乙個年份

int randomy()

//隨機生成乙個序號

int randomn()

char id[12];//體會一下堆記憶體和佔記憶體的區別

//隨機生成乙個id 長度固定是12位 a 2019 2020 001

char* randid()

char* ans;//體會一下堆記憶體和佔記憶體的區別

int main()

int r = getchar();

return 0;

}

char id[12];//體會一下堆記憶體和佔記憶體的區別 若放在函式randid裡面使其成為區域性變數 和

char* ans;//體會一下堆記憶體和佔記憶體的區別 也放在函式裡面,自私琢磨

燙燙燙燙等著你細細品味

感謝這位大佬的文章讓我又認識了一點

記憶體中堆區和棧區的區別

從下面五個方面說一下記憶體中堆和棧的區別 1 管理方式 對於棧來講,是由編譯器自動管理,無需我們手工控制 對於堆來說,釋放工作由程式設計師控制,容易產生memory leak。2 申請大小 能從棧獲得的空間較小,堆是向高位址擴充套件的資料結構,是不連續的記憶體區域。堆的大小受限於計算機系統中有效的虛...

棧區和堆區記憶體分配

以下是對棧區和堆區記憶體分配的區別進行了詳細的分析介紹,需要的朋友可以過來參考下 一直以來總是對這個問題的認識比較朦朧,我相信很多朋友也是這樣的,總是聽到記憶體一會在棧上分配,一會又在堆上分配,那麼它們之間到底是怎麼的區別呢?為了說明這個問題,我們先來看一下記憶體內部的組織情況 從上圖可知,程式占用...

靜態記憶體,棧記憶體和動態分配的記憶體 堆記憶體 的區別

1 從靜態儲存區域分配。內存在程式編譯的時候就已經分配好,這塊內存在程式的整個執行期間都存在。例如全域性變數,static變數。2 在棧上建立。在執行函式時,函式內區域性變數的儲存單元都可以在棧上建立,函式執行結束時這些儲存單元自動被釋放。棧記憶體分配運算內置於處理器的指令集中,效率很高,但是分配的...