天天看點

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

1.

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

 2.之後我想把     這個值為10的位元組挪到 堆空間

我希望申請 4個位元組的空間來放  age

3. 即使把堆空間放在函數内,它還不算函數的内容 放不到 棧空間 是以 

你得自己回收

把free(p)

把p的位址給free 就回收

左邊棧空間沒了 但是右邊堆空間還在14:08

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

4.

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

 圖檔上的文字得認的看

(int *)是強制類型 轉化          因為malloc(4) 傳回的是 4個位元組内容預設是viod 

6.

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

 7.位址傳給 free()函數    那麼就會從首位址 回收位址 以及它之後的4個位元組不會多也不會少

8.4個位元組你想怎麼用??

int *p=&age          讀出來就是從左到右 指針p指向age的存儲空間

9.10指派給p指向的4個位元組

10.

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

 11.

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

 倆種方法都可

12.

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

 但是為什麼是釋放4個與這個viod參數有關系嗎?

13.malloc 就是配置設定空間的意思