c语言free的作用

Python014

c语言free的作用,第1张

malloc 和 free 是在系统的栈上分配空间。

malloc是申请,意思就是告诉系统,我要用一块RAM,给我用了别人就不要用了。

free是释放,意思是告诉系统,给我的这块RAM我用完了,不再用了,系统可以把它干别的了。

free之后,系统还没有拿这块RAM干别的事之前,这块RAM的内容可能是不会变的,依然可以读出原来的内容,因为你的指针a还是指向这块RAM。但要注意,这块RAM已经不属于你了,读一下内容无所谓,如果往里面写就很危险了。

属于内存管理的两个函数,malloc是申请内存的,free是释放内存的。

1、malloc一般用法:

int *t=NULL

t=(int *)malloc(sizeof(int))

也可以在sizeof前面加上一个'n*'这就成了一个动态分配数组的方法。

2、free一般用法:

int *t=NULL

t=(int *)malloc(sizeof(int))

free(t)

这样t所指的空间就被释放掉了。

扩展资料:

malloc函数定义

其函数原型为void *malloc(unsigned int size);其作用是在内存的动态存储区中分配一个长度为size的连续空间。此函数的返回值是分配区域的起始地址,或者说,此函数是一个指针型函数,返回的指针指向该分配域的开头位置。

如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。

参考资料来源:百度百科-malloc函数

参考资料来源:百度百科-free()