|
发表于 2006-5-23 21:28:07
|
显示全部楼层
Post by aishen944
当使用malloc分配内存以后,如果不释放会有什么后果!
如果不释放, 这块内存就永远保持被占用状态,即使你的程序已经退出了;也就是说,这块内存已经不被使用了,但谁也用不了它了,操作系统也无能为力;如果总是分配内存,但从来不释放,最终内存将被耗尽。术语叫内存泄漏(memory leak)。
Post by aishen944
如果不分配内存,能否通过指针的偏移量来设置其他内存值,分配与不分配修改内存到底有什么区别!
这在有的操作系统下是可以的,比如DOS; 但现在绝大多数的操作系统都不允许,因为你可以访问任意的内存地址,不安全;
Post by aishen944
我看了一些c语言程式,有的直接在函数里面使用malloc分配内存,但是为什么到最后并没有释放!
可能你看到的只是程序的片断,作者只是想介绍部分代码,例如介绍算法的代码;总之malloc(), free() 必须成对出现;
----------
不当,不全之处,请兄弟们指正! |
|