C语言:什么情况下需要释放内存

2024-12-17 11:49:37
推荐回答(3个)
回答1:

C管理内存大致可以理解为两种,一个是分配在栈上的,另一个是分配在堆上的。
临时变量,动态变量,分配在栈上,运行完,直接弹出栈,就没了。
分配在堆上的内存,释放的时候,基本上可以理解为,指针不指这里了。也就失去了对这块内存的控制。其实所谓的释放。字面意思容易让人理解错。
有些机器有些操作系统,会在释放的时候清空这段内存,但是这种做法效率不高,但是安全,很少有机器这么做,多数都是所谓释放,就是不让控制这块内存了而已。

回答2:

申请内存后需要释放,比如malloc,realloc

回答3:

malloc申请内存以后,一般需要free