free()函数的用法
来源:互联网 发布:win10软件注册表位置 编辑:程序博客网 时间:2024/06/01 09:18
free()的调用方式是:void free(void *ptr)。是释放由ptr所指的内存,并将它返回给堆,以便这些内存成为再分配时的可用内存。free()函数只能用于以前由动态地址分配的函数。如果调用无效指针很可能毁坏内存管理机制,并且引起系统破坏的。
free是调用操作系统的函数,将原先分配的内存区域释放。在操作系统中分配内存不是简单的给一个指针,而是在内核中维护每个程序的分配内存表,free则是用指针找到对应分配的表项然后释放。
释放内存不是丢掉指针。否则的话后患无穷,就是内存泄漏。那么malloc到底做什么?free到底做什么?简单的说,malloc在一个特定的内存区划出一块你利用参数指定的大小的内存块,然后把这块内存的开始地址返回。这要求你用一个指针来接收。否则也会出现内存泄漏。因为这块内存你申请了之后,并没有释放。说到这里补充一句,malloc函数分配的内存空间不会自动释放,需要你操作来完成。需要的操作就是free。那么free做什么呢?就是将指针指定的内存空间释放,如果发现指定的内存空间不是在与malloc匹配的内存空间,free操作就会失败。所以free做的是释放指针指向的用malloc申请的特定的内存空间,而不是指针本身。
结论:使用方法 对于用malloc分配空间的指针p, 使用过后要这样释放:
free(p);
p=NULL;
- free()函数的用法
- 浅谈free函数的用法
- 关于malloc和free函数的用法
- 关于malloc和free函数的用法
- 关于malloc和free函数的用法
- 关于malloc和free函数的用法
- 关于malloc和free函数的用法
- 关于malloc和free函数的用法
- 关于malloc和free函数的用法
- 关于 free() 函数用法的若干疑问
- 关于malloc和free函数的用法
- 关于malloc和free函数的用法
- 关于malloc和free函数的用法
- malloc和free函数的用法
- malloc 和free()函数的用法:
- free函数用法小结
- 关于C语言中的malloc和free函数的用法
- [转]:关于malloc和free函数的用法
- 用户控件制作分页控件
- 常用的正则表达式
- 交叉合并二维数组,穷举可能性(不知道怎么起名字。。。)
- HDU 3547 DIY Cube Ploya定理
- 利用IIS实现Exchange OWA重定向
- free()函数的用法
- 修改Tomcat字符编码和允许软连接
- java2 实用教程 第三版 第三章 习题 4
- 几个 Windows 到 Linux 的代码移植问题
- Android-Intent和PendingIntent的关系
- 收藏地址--天气
- 进化计算(C#版)「安德鲁·基里洛夫 著,野比 译」
- 异常处理机制
- android+SurfaceView+path+onTouchEvent画图