zoukankan      html  css  js  c++  java
  • 动态分配内存--new、delete

    C++中使用new/delete用来动态分配、回收内存空间。

    #include<iostream>
    using namespace std;
    int main()
        {
            int * pi = new int;
            cout << (void*)pi << endl;
            *pi = 1234;
            cout << *pi << endl;
            delete pi;//删除pi的目标,pi是局部变量。释放内存
            cout << (void*)pi << endl;//变成野指针,但pi指向的地址并没有变化
            pi = NULL;//置空。
    
            ///////初始化
    
            pi = new int(100);
            cout << *pi << endl;
            delete pi;
            pi = NULL;
            
            ///////分配数组,无初值,用数组方式new的,必须以
            //数组方式(delete [])释放
            int i=0,j=0;
            pi = new int [10];
            for ( i = 0; i < 10 ; i++)
                pi[i] = i+1;
            for ( i = 0; i < 10 ; i++)
                cout << pi[i] << endl;
            cout << endl;
            delete [] pi;
            pi = NULL;
    
            ///初始化数组
    
            pi = new int[3]();//初始值为0
            for ( j = 0; j < 3; j++)
                cout << pi[j] << endl;
            delete [] pi;
            pi = NULL;
    
            //////////动态创建二维数组/////////
    
            int (*pa)[4] = new int [3][4]();//初始值为0,指针数组
            for (i = 0; i < 3; i++)
                for(j = 0; j < 4; j++)
                    cout << pa[i][j] << endl;
                delete [] pa;
                pa = NULL;
    
            return 0;}
  • 相关阅读:
    java 包
    数据库查询操作练习
    solr全文检索实现原理
    前端页面设计问题小计
    送给自己的九封信
    bootstrap-table初使用
    bootstrap-treeview初使用
    windows:plsql配置oracle连接
    maven的安装和配置
    cxf+spring+restful简单接口搭建
  • 原文地址:https://www.cnblogs.com/day-up/p/5114320.html
Copyright © 2011-2022 走看看