当前位置:首页 > 内存 > 正文

free函数释放静态内存

  • 内存
  • 2024-06-07 14:59:42
  • 2090

一、C语言中的free函数如何正确使用free只能释放堆动态申请的空间,但前者中两个不同的指针变量p和q指向同一个地址,
free(q);
q=NULL;
之后q和p指向的空间被释放,q被赋值为NULL,但是此时p变量的值没有改变,即它的值仍然是原点首地址,即申请的地方为了。这里注意,原来申请的空间已经被释放了,但是P仍然保留着该空间的首地址值,所以,开发时释放空间后,后续对已经释放的空间的非法访问要停止,必须将对应的变量赋值为NULL。,
第二个已经发布了。
二、C语言中free怎么用?是只能用于指针变量吗?它如果释放静态内存会有什么结果free只是用来释放malloc函数在堆上请求的空间,不能做任何其他事情!
用法:
例如int*p=malloc(sizeof(int)*4)
free(p);