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释放一次就够。
书上李镇怎么能这么教人呢。free以后就不能再用这块内存。
因为说不定它又被分给其他变量用。
那就全乱了,而且不好查错。
实际应用哪谨粗中这种写法是大忌,
所以讨论这样的输出结果是没有意义的。
记住free一定要放晌哪到最后!还有每次最好free后清零。
free(str)
str=NULL
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)