Pie*_*ter 4 c malloc free memory-leaks
我正在尝试释放我已分配的内存malloc,但free根据Eclipse的调试器,命令似乎没有正常工作.这怎么可能?
下面是我的调试器在它被释放之后的屏幕截图,seCurrent->student->year显然不是这种情况.year被分配使用malloc.
是什么让你认为它没有释放它?释放内存意味着此后从程序访问它是未定义的行为,并且下次调用malloc时可以重用内存.它不承诺覆盖存储在您释放的内存中的数据,或者阻止调试器读取未分配的内存.
Free会将分配的空间返回给堆,以供后续malloc重用,但它不会更改以前引用该内存的任何指针的值.在你的情况下,还没有其他mallocs被执行,因此刚刚释放的内存仍然与调用free之前的内存相同.为了让您的代码知道不再有与指针相关的任何数据,您可能需要null在释放与其关联的内存后将其设置为.
| 归档时间: |
|
| 查看次数: |
3944 次 |
| 最近记录: |