malloc内存后的释放
来源:互联网 发布:服装销售数据分析范文 编辑:程序博客网 时间:2024/05/08 20:59
malloc内存后,进行读写操作,当内存使用完毕后需要释放,释放的方法其实就是用free释放。但是使用malloc申请了多个内存到最后要是释放的时候可能会因为free步骤重复变得繁琐,可以将free步骤封装成一个函数,需要的时候直接调用封装好的函数就可以,如下:
void VOS_FREE(void *pData){ if (NULL != pData) { free(pData); pData = NULL; } return;}
举例:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <malloc.h>void VOS_FREE(void *pData);typedef struct stu1{ char name[10]; int age;}stSTUDENT_1,*pstSTUDENT_1;typedef struct stu2{ char name[10]; int age;}stSTUDENT_2,*pstSTUDENT_2;int main(void){ pstSTUDENT_1 p1 = (pstSTUDENT_1)malloc(sizeof(stSTUDENT_1)); strcpy(p1->name,"XiaoMing"); p1->age = 18; printf("student1 name is : %s\n",p1->name); printf("student1 age is : %d\n",p1->age); pstSTUDENT_2 p2 = (pstSTUDENT_2)malloc(sizeof(stSTUDENT_2)); strcpy(p2->name,"XiaoHua"); p2->age = 19; printf("student2 name is : %s\n",p2->name); printf("student2 age is : %d\n",p2->age); VOS_FREE(p1);//调用封装好的free函数释放,下同 VOS_FREE(p2); return 0;}void VOS_FREE(void *pData){ if (NULL != pData) { free(pData); pData = NULL; } return;}
以上。
参考资料:
http://blog.csdn.net/jjw8330519/article/details/52071813
阅读全文
0 0
- malloc内存后的释放
- malloc的内存用free释放后为何系统回收不了
- new/malloc的内存不释放
- malloc内存分配与free内存释放的原理
- malloc内存管理器内存不释放的解决方法
- C 笔记 free()释放一个非malloc() 申请的内存
- malloc与free 动态内存的申请与释放
- Malloc与free内存的分配和释放
- //创建的HDC 释放后无法释放内存解决方法
- 窗口关闭后释放内存的方法
- malloc内存分配与free内存释放
- 最小化后释放内存
- cvLoadImage后释放内存
- stm32 使用malloc申请内存和free释放内存造成的内存碎片测试
- C语言动态内存分配:(一)malloc/free的实现及malloc实际分配/释放的内存
- malloc,free动态申请释放内存机制
- free函数释放malloc分配的内存,这块内存情况
- malloc(0)参数为0的情况,malloc分配最小空间,free真的释放内存了?
- 时钟--时钟周期、机器周期、指令周期
- 退役感想(挖个坑先,以后再来补。。)
- HTTP头简介
- Hdoj 2070 Fibbonacci Number
- 横向滑动 pagerslidingtabstrip
- malloc内存后的释放
- 输入框自动提示的实现
- BI产品选型:总有一款适合你
- 所使用的“Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”版本高于所引用的程序集“
- 后端程序员开发利器 window chrome64 浏览器离线版
- angular 总联系
- apt-get 命令详解(中文),以及实例
- 删除centos7里面的openjdk
- G1垃圾回收器起步