文件名称:动态内存会被自动释放吗?-Unix基础与Shell编程技术培训
文件大小:4.68MB
文件格式:PPT
更新时间:2024-05-12 12:28:13
Unix相关
动态内存会被自动释放吗? 4. 内存管理 函数体内的局部变量在函数结束时自动消亡。很多人误以为示例是正确的。理由是p是局部的指针变量,它消亡的时候会让它所指的动态内存一起完蛋。这是错觉! 问题: (1)指针消亡了,并不表示它所指的内存会被自动释放。 (2)内存被释放了,并不表示指针会消亡或者成了NULL指针。 这表明释放内存并不是一件可以草率对待的事。 void Func(void) { char *p = (char *) malloc(100); // 动态内存会自动释放吗? }