C语言中free函数的用法

Python018

C语言中free函数的用法,第1张

free函数的用法释放ptr指向的存储空间。被释放的空间通常被送入可用存储区池,以后可在调用malloc、realloc以及calloc函数来再分配。

free 不管指针指向多大的空间,均可以正确地进行释放,这一点释放比 delete/delete [] 要方便。如在分配指针时,用的是new或new[]。

在释放内存时,并不能图方便而使用free来释放。反过来,用malloc 分配的内存,也不能用delete/delete[]来释放。

举例:

int* p = (int *) malloc(4)

*p = 100

free(p)//释放 p 所指的内存空间

或者:

int* p = (int *) malloc ( sizeof(int) * 100 )//分配可以放得下100个整数的内存空间。

……

free(p)

扩展资料

1、free是和malloc、realloc或者calloc函数成对出现的,来保证动态分配的空间及时释放。

2、一块动态申请的内存用free释放一次就够。

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

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

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

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

如果是已有源文件,就\x0d\x0a“文件”->“打开”->选择你要打开的源文件\x0d\x0a如果是要新建,就\x0d\x0a“文件”->“新建”\x0d\x0a\x0d\x0a打开后,就可以去写代码,写好后,点击“构建”菜单中的“运行”(或工具栏上的那个绿色的三角形图标),如果你的代码没有错误,那么就可以运行出结果。