程序中使用free释放,否则内存不会被释放。
C语言不会发布。所谓动态内存就是malloc系列函数使用到的内存,除非程序中使用了free,否则这块内存不会被释放。
标准库中malloc函数的实现原理。了解malloc的内存存储结构,与全局变量不同,编译器在编译时并不分配malloc内存空间,而是在调用malloc函数时分配空间。有时会在中途调用free函数来释放空间。
扩展信息
Free:释放malloc分配的存储空间
Malloc用于释放固定数量的内存。向系统提出申请。如果你的程序盲目地申请内存供自己使用,那么系统可以分配给其他程序的内存量就会减少,最终就会没有可用的内存,最终导致系统缓慢等问题出现。运行不稳定。显然,这种简单请求而不返回的行为是不可取的,因此C语言提供了free函数将借用的内存返回给系统。
当你忘记使用free释放malloc分配的内存时,表明程序存在“内存泄漏”的老问题,因此,对于上面的程序,要修复这个问题,请使用以下代码返回之前0.
参考来源:—C语言
上一篇:动态内存分配c语言
下一篇:二维数组动态分配内存