new和delete创建和释放动态数组

Posted qiang-wei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了new和delete创建和释放动态数组相关的知识,希望对你有一定的参考价值。

1.动态创建和释放一维数组

#include<iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    //分配动态一维数组 
    int *arr=new int[n];
    
    for(int i=0;i<n;i++)
        cin>>arr[i];
    for(int i=0;i<n;i++)
       cout<<arr[i]<<" ";
    //释放arr数组 
    delete[] arr;
    return 0;
}

2.动态创建和释放二维数组

#include<iostream>
using namespace std;
int main()
{
    int row,col;
    cin>>row>>col;
    //为行指针分配空间 
    int **arr=new int *[row];    
    for(int i=0;i<row;i++)
         arr[i]= new int[col];//为每行分配空间(每行中有col个元素) 
    //输入二维数组的数 
    for(int i=0;i<row;i++)
        for(int j=0;j<col;j++) 
        cin>>arr[i][j];
    cout<<"*******************"<<endl;
     //输出二维数组中的数  
    for(int i=0;i<row;i++)
    {
         for(int j=0;j<col;j++) 
          cout<<arr[i][j]<<" ";
        cout<<endl;
    } 
    //释放二维数组(反过来) 
    for(int i=0;i<row;i++)
        delete[] arr[i]; 
    delete[] arr;
    return 0;
}

3.创建和释放多维数组

同二维数组,创建时从高维到低维,释放时从低维到高维。

以上是关于new和delete创建和释放动态数组的主要内容,如果未能解决你的问题,请参考以下文章

如何在C++中使用动态三维数组

怎么用new定义一个类数组,并且释放内存

C++如何用new动态开辟一个一维字符数组

怎么使用new操作符创建动态数组?

New动态分配 Delete 释放内存

d 对象的动态建立和释放