c++动态分配内存

使用new分配内存:在运行阶段分配未命名的内存以存储值。这个内存实际是堆内存。

  • int *ptr_int = new int;    //  new和delete是成对出现的。

      delete ptr_int;   //  delete是指释放内存。

使用new给数组分配动态内存。

  • int *ptr_array = new int[10];
  • delete[ ] ptr_array; // 使用delete[ ]释放数组内存。

程序的内存分配;

栈区(stack)

                 由编译器自动分配释放,一般存放函数的参数,程序的局部变量等,操作方式类似栈的先进后出。

堆区 (heap)

              由程序员自己分配释放,若程序不释放,程序结束时可能由系统回收。如果没被回收就成了野内存(没有任何指针指引,也叫内存泄漏。容易造成程序崩溃。)与数据结构中的堆两码事,分配方式类似链表。

全局区

            全局变量和静态变量存储在一起,结束后由系统释放。

文字常量区

             常量字符串存在这儿,程序结束由系统释放。

 

二维数组的指针:

     int (* ptr)[3] = array ;      //  降维表示

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值