动态内存分配

来源:互联网 发布:java工程师女生 编辑:程序博客网 时间:2024/06/03 09:08
1、当你定义了一个指针,而且要往里面写数据时,必须要动态分配内存给他。
2、动态分配的内存在堆上,你有权利决定什么时候将他释放掉。

3、动态分配的内存请记得一定要释放掉,不然容易引起内存泄露。

1,new 分配内存

通用格式是:类型名 * 指针 = new 类型名;

如  int * pi = new int;

类型可以是基本数据类型、结构体、自定义类等


2,delete 来释放内存

通用格式是:delete 指针名;

注意 delete 与 new 配对,只能释放 new 分配的内存。

delete只能用一次,不能释放指针两次。


3,new 创建动态数组
通用格式是:类型名 * 指针 = new 类型名 [ 数组大小 ];
如 char * pc = new char [234];
pc 被赋值为第一个元素的地址,指向第一个元素
怎么使用new和delete动态分配内存
4
delete 释放动态数组
通用格式是: delete [] 指针;
怎么使用new和delete动态分配内存
5
new 创建的动态数组,指针可当作数组名来使用
如 float * pf = new float [200];
pf[24],是数组的第25个元素的值,下标从0开始
怎么使用new和delete动态分配内存
6
new 和 delete 是C++中用来动态分配内存的,C语言使用 malloc 和 free
END
注意事项
一般情况下,对于字符串、数组、结构体等大型数据,使用new可以节省内存空间,推荐使用
new 和 delete 配对,new [] 和 delete [] 配对,注意别弄错了


0 0
原创粉丝点击