C++学习---动态内存

时间:2021-09-06 07:55:43   收藏:0   阅读:25

学习线性表的过程中,知道了线性表的两种实现方式,一种是静态的一种是动态的,动态线性表的实现中经常可以看到分配空间的语句L = new Lnode,在释放的时候是delete L。虽然这样用,但是一直不知道为什么要这样用。

int *pia = new int[get_size];  //pia指向第一个int,调用get_size确定分配多少个int
//方括号内必须为整型,但不必是常量

//使用类型别名来分配数组
typedef int arrT[42];  //arrT表示42个int的数组类型
int *p = new arrT;     //分配一个42个int的数组,p指向第一个int;

上述new分配了一个int数组,并返回指向第一个int的指针
注意:即使代码中没有方括号,但是编译器执行这个表达式的时候还是会用到new[],即编译器实际执行的时候是:
int *p = new int[42];

释放动态内存

delete p;  //p必须指向一个动态分配的对象或为空;
delete []pa;  //pa必须指向一个动态分配的数值或为空;

原文:https://www.cnblogs.com/Arren/p/15227492.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!