1. 程式人生 > 其它 >c++ 的學習 堆空間申請與釋放-malloc,free

c++ 的學習 堆空間申請與釋放-malloc,free

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 就是分配空間的意思