本文主要是介绍free 内存 注意点的事,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
对指针的操作严格按照这样:ptr = (struct XXXX *)malloc(num * sizeof(struct XXXX);
....
free(ptr);
ptr = NULL;
但是往往会在free的时候发生段错误.
改一下:
// 在分配之前加一句判断指针是否为空,防止产生内存泄露
if (ptr == NULL) {
ptr = (struct XXXX *)malloc(num * sizeof(struct XXXX);
}
// 在释放之前加一句判断指针是否为空,防止产生异常
if (ptr != NULL) {
free(ptr);
ptr = NULL;
}
这篇关于free 内存 注意点的事的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!