首页 > 解决方案 > 分配动态数组的两种方法

问题描述

你好,我是 C++ 编程的新手。这里有两种分配动态数组的方法,它们都给出相同的输出。我想知道两者有什么区别。

1)这是使用 new 和 delete 的方法1:

#include<iostream>
using namespace std;

int main()
{
 int n;
 cout<<"enter the array size : ";
 cin>>n;
 int *arr = new int[n];              
 cout<<"enter the array elements: ";
 for(int i=0;i<n;i++)
    {
     cin>>arr[i];
    }
 cout<<"array elements are: ";
 for(int i=0;i<n;i++)
    {
     cout<<arr[i]<<" ";
    }   
 cout<<"\n";
 delete [] arr;
 return 0;                   
}

2)这是方法二:

#include<iostream>
using namespace std;

int main()
{
 int n;
 cout<<"enter the array size : ";
 cin>>n;
 int arr[n];               
 cout<<"enter the array elements: ";
 for(int i=0;i<n;i++)
    {
     cin>>arr[i];
    }
 cout<<"array elements are: ";
 for(int i=0;i<n;i++)
    {
     cout<<arr[i]<<" ";
    }   
 cout<<"\n";                   
 return 0;
}

标签: c++

解决方案


推荐阅读