来自:c和指针.P223
在使用动态内存分配的程序中,常常会出现许多错误。这些错误包括对NULL指针进行解除引用操作、对分配的内存进行操作时越过边界、释放并非动态分配的内存、试图释放一块动态分配的内存的一部分以及一块动态内存被释放之后还继续使用它。以下是一些需要注意的事项:
1、在请求动态内存分配时,要检查所请求的内存是否成功分配。
2、操作内存时,不要超过动态分配的内存的边界。对分配的内存之外的区域进行访问可能会破坏别的数据,
产生一些莫名其妙的很难发现的bug。
3、传递给free的指针必须是一个从malloc、calloc、realloc函数返回的指针。
4、动态分配的内存必须整块一起释放,不允许释放一块动态分配的内存的一部分(realloc函数可以缩小一块动
态分配的内存,有效地释放它尾部的部分内存)。