一、内存申请 1.建议使用calloc申请内存,尽量不要使用malloc。 calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。 2.申请内存大小必须大于...

一、内存申请
1.建议使用calloc申请内存,尽量不要使用malloc。
calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。
2.申请内存大小必须大于0.
(1)使用0字节长度申请内存的行为是没有定义的,在引用内存申请函数返回地址时会引发不可预知错误,对于可能出现申请0长度内存的情况非常有必要判断,避免出现这种情况。
(2)使用负数长度申请内存,负数会被当成一个很大的无符号整数,导致申请内存过大而出现失败。
3.申请内存后检查是否申请成功,即检查返回指针是否为NULL,即是否为0。
二、内存释放
1.申请的内存一定需要释放,有且仅能释放一次
2.禁止释放或函数内返回非动态申请的内存(栈中的内存,函数中的临时变量等)
3.指针释放后必须将指针指向空指针,否则会出现野指针的情况。
转自:https://www.cnblogs.com/lh218/p/5373907.html
本文标题为:C语言中内存管理规范


基础教程推荐
- C++类和对象到底是什么 2022-11-12
- C/C++ Qt StatusBar底部状态栏应用教程 2023-01-10
- C语言实现简易停车场管理系统 2023-03-13
- C语言文件操作与相关函数介绍 2023-06-13
- 使用C/C++读写.mat文件的方法详解 2023-03-05
- C语言预编译#define(预处理) 2023-04-03
- 漫画讲解C语言中最近公共祖先的三种类型 2023-01-01
- 使用VS2022开发在线远程编译部署的C++程序(图文详解) 2023-01-15
- 如何告诉 MinGW 链接器不要导出所有符号? 2022-10-07
- C++高级数据结构之并查集 2023-04-20