#define _crt_secure_no_warnings
#include#include#includeint *getspace()
for (int i = 0; i < 5; i++)
return p;
}void test01()
//手動在堆區建立的資料,要手動釋放
free(p);
p = null;
}//注意:如果主調函式中沒有給指標分配記憶體,被調函式用同級指標是修飾不到主調函式的
void allocatespace( char *pp)
memset(temp,0,100); //把temp所指的記憶體區域前100個位元組設定成0
strcpy(temp,"hello world");
pp = temp;
}void test02()
//正確做法
void allocatespace2(char **pp)
void test03()
int main()
記憶體的使用 棧區 堆區 靜態區 唯讀區
記憶體的使用感覺好亂啊,需要整理一下!於是參考c primer與網上資源,整理如下 一 綜述 記憶體中的棧區分配的是區域性變數和函式的引數值的空間,棧的生長方向是從高往低的 堆區是向上增長的用於分配程式設計師申請的記憶體空間 比如new 申請的動態記憶體 注意它與資料結構中的堆是兩回事,分配方式倒是...
堆區和棧區
1 棧區 stack 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由系統 3 全域性區 靜態區static 全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊區域,未初始化的全域性變...
棧區和堆區
注意,這裡所說的堆區和棧區指的是 虛擬 記憶體區域,跟資料結構中的堆疊不一樣。棧區 stack 由編譯器自動分配釋放,存放區域性變數的值 函式呼叫所需要維護的資訊等。棧區必須滿足這樣一條規則 先入棧的資料後出棧 first in last out,filo 堆區 heap 一般由程式設計師分配釋放,...