美文网首页
动态内存分配

动态内存分配

作者: 波洛的汽车电子世界 | 来源:发表于2019-05-02 02:57 被阅读0次

注:以下大部分内容来源于 coursera 课程《C++程序设计》

用new 运算符来实现动态内存分配

new运算符返回的值的类型:T* ,就是指针

第一种用法:分配一个变量

P = new T;

T代表类型的名字,P代表一个指针T*,
作用: 动态分配出一片大小为sizeof(T)字节的内存空间。 然后,并且把这个内存的起始地址赋值给P。

int *pn;
pn = new int;
*pn = 5;

(P是地址,*P是内容)

第二种用法:分派一个数组

P = new T[N];

动态分配出一片大小为N*sizeof(T)这么多个字节的这个内存空间, 并且把这个内存空间的起始地址赋值给这个P。

int *pn;
int i = 5;
pn = new int [i*20];
pn[0] = 20;
pn[99] = 100;

用delete运算符释放动态分配的内存

用了new,就要用delete,不然一直会被占用。

int *pn = new int;
*p = 5;
delete p;

delete指向的必须是new分配的空间。

int *pn = new int[10];
p[0] = 5;
delete []p;

相关文章

网友评论

      本文标题:动态内存分配

      本文链接:https://www.haomeiwen.com/subject/gkpgnqtx.html