zoukankan      html  css  js  c++  java
  • c++动态分配内存

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

    1 int *ptr_int = new int;    //  new和delete是成对出现的。后面的new int返回一块内存地址,a是一个指针.
    2 delete ptr_int; // delete是指释放内存。

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

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

    程序的内存分配;

    栈区(stack)

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

    堆区 (heap)

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

    全局区

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

    文字常量区

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

    二维数组的指针:

       

    1   int (* ptr)[3] = array ;      //  降维表示
  • 相关阅读:
    intellij常用快捷键
    C++ 虚函数详解
    第七周作业
    第六周作业
    第四周作业
    第三周作业
    第二周作业
    第一周作业附加作业
    第一周作业。
    第0次作业
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725271.html
Copyright © 2011-2022 走看看