c++ 的學習 堆空間申請與釋放-malloc,free
阿新 • • 發佈:2021-10-03
1.
2.之後我想把 這個值為10的位元組挪到 堆空間
我希望申請 4個位元組的空間來放 age
3. 即使把堆空間放在函式內,它還不算函式的內容 放不到 棧空間 所以
你得自己回收
把free(p)
把p的地址給free 就回收
左邊棧空間沒了 但是右邊堆空間還在14:08
4.
圖片上的文字得認的看
(int *)是強制型別 轉化 因為malloc(4) 返回的是 4個位元組內容預設是viod
6.
7.地址傳給 free()函式 那麼就會從首地址 回收地址 以及它之後的4個位元組不會多也不會少
8.4個位元組你想怎麼用??
int *p=&age 讀出來就是從左到右 指標p指向age的儲存空間
9.10賦值給p指向的4個位元組
10.
11.
倆種方法都可
12.
但是為什麼是釋放4個與這個viod引數有關係嗎?
13.malloc 就是分配空間的意思