您的当前位置:首页正文

free 内存 注意点的事

2024-11-29 来源:个人技术集锦
对指针的操作严格按照这样:
 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;

}
显示全文