设为首页 加入收藏

TOP

7.4.3 用new分配内存单元
2013-10-07 01:13:03 来源: 作者: 【 】 浏览:77
Tags:7.4.3 new 分配 内存 单元

7.4.3  用new分配内存单元

有时定义指针不是为了指向已经定义好的其他变量,而是为了开辟新的存储单元,这时就需要动态申请内存单元。C++(www.cppentry.com)采用new运算符来申请新的存储单元,格式如下。

  1. p=new type;  
  2. 或  
  3. p=new type[<n>]; 

其中,p表示指针,new是关键字,type是类型名,[<n>]表示需要n个type类型长度的存储单元。new返回新分配的内存单元的地址。第一种格式表示申请一个type类型长度的内存单元,第二种格式表示申请n个type类型长度的内存单元。

当申请的内存单元不再使用时,必须予以收回,这要用到与new配对的delete运算符。其格式如下所示。

  1. delete p;  
  2. 或  
  3. delete []p; 

其中,delete是关键字,p是指针,[]表示要删除new分配的多个type类型的存储单元。两种格式分别与new的两种格式相对应。需要注意的是delete并没有破坏指针p的内容,它只是告诉系统收回这片内存单元,可以重新利用。所以delete后,最好将p显示置为空指针。

【示例7-10】 演示new/delete的使用方法。

  1. char *p;  
  2. p=new char;     //申请内存块,将地址赋给p  
  3. *p='a';         //修改p所指向的内容  
  4. delete p;       //释放p所 

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇7.4.4 用malloc分配内存单元 下一篇7.2.3 sizeof运算符

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: