C++动态内存管理
动态内存管理
(1)C语言中的动态内存管理;
(2)C++的动态内存管理;
(3)new和delete操作符;
在C++中也可以完全兼容C语言的动态内存管理方法,C++也有自己的基于操作符的动态内存管理,用的是new和delete。
(1)C语言动态内存管理
- a)分配内存
malloc()
calloc()/realloc() - b)释放内存
free() - c)错误处理
返回值,成功返回所分配内存的首地址,失败返回NULL**
在C语言中分配内存一般可以使用malloc()函数,也有和malloc()功能类似的函数calloc()和realloc()函数,实际开发中malloc()使用较多,不管是做标准C的开发,还是做UC的系统开发,都是使用malloc()更多点,因为大多数开发人员对malloc()更为熟悉。相反的有个free()用于释放内存,在实际的开发中,**动态内存管理使用的是非常多的,因为有许多内存是需要动态分配管理的,**比如在程序运行期间,有些数据是运行时计算产生的,这时需要内存空间来保存数据,就可能需要动态内存的管理,类似二叉树、链表等数据结构,其每个节点可以保存一个数据,但是节点的个数通常是不确定的,