C语言学习之内存管理函数malloc()和free()
来源:互联网 发布:算法设计描述 编辑:程序博客网 时间:2024/05/12 05:11
在C语言的学习中,对内存管理这部分知识的掌握尤其重要。
malloc()和free()的基本概念以及基本用法:
1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。 void free(void *FirstByte):该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。
2、函数的用法:其实这两个函数用起来倒不是很难,也就是malloc()之后觉得用够了就甩了它把它给free()了。
3、关于函数使用需要注意的一些地方:
A、申请了内存空间后,必须检查是否分配成功。
B、当不需要再使用申请的内存时,记得释放;释放后应该把指向这块内存的指针指向NULL,防止程序后面不小心使用了它。
C、这两个函数应该是配对。如果申请后不释放就是内存泄露;如果无故释放那就是什么也没有做。释放只能一次,如果释放两次及两次以上会出现错误(释放空指针例外,释放空指针其实也等于啥也没做,所以释放空指针释放多少次都没有问题)。
D、虽然malloc()函数的类型是(void *),任何类型的指针都可以转换成(void *),但是最好还是在前面进行强制类型转换,因为这样可以躲过一 些编译器的检查。
- C语言学习之内存管理函数malloc()和free()
- C语言学习之内存管理函数malloc()和free()
- C语言学习之内存管理函数malloc()和free()
- 陈正冲老师讲c语言之内存的申请malloc() 和释放free()
- 陈正冲老师讲c语言之内存的申请malloc() 和释放free()
- 浅析C语言之内存分配函数malloc()、realloc()、calloc()
- C 语言 malloc 和 free函数浅谈
- C语言之内存分配与释放:malloc, calloc, realloc & free
- new delete与malloc free之内存管理(1)
- C语言之内存管理
- C语言之内存管理
- C语言之内存管理
- C语言之内存管理
- c语言之内存管理
- C语言之内存管理
- c语言malloc和free
- C语言malloc和free
- C语言malloc和free
- Android windows eclipse开发环境搭建
- Eclipse 快捷键大全
- 【学习笔记】Linux下磁盘IO性能评估
- 石子合并(动态规划)详细解题报告
- struts2的actionspring代理
- C语言学习之内存管理函数malloc()和free()
- GDI+测算文字绘制范围
- webwork与spring集成的三种方法
- Linq——Count、Sum、Min、Max、Average
- java序列化反序列化学习
- 关于编程,大学没有传授的10件事
- Linux下查看CPU信息[/proc/cpuinfo]
- STM32 启动代码 startup.c main函数之前解析
- Delphi 单元文件结构