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

posted @ 2021-10-03 17:03  a-mhh  阅读(250)  评论(0编辑  收藏  举报