分类: C/C++
2012-09-09 16:31:19
动态内存分配最常见的问题
(1)忘记检查所申请的内存是否分配成功。
(2)操作内存的时候,超出了分配内存的边界。
访问的内存可能保存了其他变量的值。
以链表的形式维护了可用的内存池,对分配的内存之外的区域进行访问,可能破坏这个链表。
释放内存的一部分是不允许的,动态分配的内存必须整块的释放。
关于free释放内存的一些问题:
不要试图去访问已经释放的内存,这个看起来比较容易,但是经常还是会犯错误,就是在你的程序里面你多次复制了一个内存的地址,在某一处你释放了一个指针所指向的内存区域,但是你在别处有去引用这一个已经被释放的内存。所以说,在复制内存的地址时候,要特别的注意。