【C++】动态分配内存用法

喜夏-厌秋 提交于 2020-02-23 03:32:38

new分配内存:

(ListNode 是一个结构体类型)

ListNode *L=new ListNode() 初始化一个空节点,无值,不提倡此种写法。

ListNode *L=new ListNode(0) 初始化一个节点值为0的空节点,最常用最正规写法

ListNode *L=null 为空,什么都没有;

1、分配单个变量空间

     Type *pointer = new Type;delete pointer

2、分配数组空间

     Type *pointer = new Type[N]; delete[] pointer

动态内存方法的两种方法实际上是C++标准库提供的库函数

void *operator new(size_t);     //allocate an object void *operator delete(void *);    //free an object
void *operator new[](size_t);     //allocate an array void *operator delete[](void *);    //free an array

3、关键字new 与函数malloc的区别

关键字new 与函数malloc的区别
new malloc
C++关键词 C库函数
以具体类型为单位进行内存分配 以字节为单位进行内存分配
new在申请单个类型变量时可进行初始化 malloc不具备内存初始化的特性

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!