C++动态内存分配及引用.pptVIP

  • 8
  • 0
  • 约4.36千字
  • 约 26页
  • 2017-02-12 发布于江苏
  • 举报
* 【例9-4】从键盘输入10个int型数,而后按输入的相反顺序输出它们。要求使用new运算符动态申请数据空间存放数据。程序执行后的输入输出界面为: 输入:1 2 3 4 5 6 7 8 9 10 运行输出:10 9 8 7 6 5 4 3 2 1 * void main() { int i, *a, *p; a = new int[10]; coutinput 10 integers:endl; for(i=0; i10; i++) cin*(a+i); //也可用a[i] cout The result endl; for(p=a+9; p=a; p--) cout*p ; coutendl; } 以变量形式分配内存比较死板。有了new和delete,就可以实现一种动态分配内存的形式,即通过指针引用,而内存的分配和释放可以在程序的任何地方进行。 1.动态分配失败。返回一个空指针(NULL),表示发生了异常,堆资源不足,分配失败。 2.指针删除与堆空间释放。删除一个指针p(delete p;)实际意思是删除了p所指的目标(变量或对象等),释放了它所占的堆空间,而不是删除p本身,释放堆空间后,p成了空指针。 3.内存泄漏(memory leak)和重复释放。new与  delete 是配对使用的, delete只能释放堆空间。如果n

文档评论(0)

1亿VIP精品文档

相关文档