0
点赞
收藏
分享

微信扫一扫

动态数组简介


                                        动态数组

定义:

动态数组是指在声明时没有确定数组大小的数组,即忽略圆括号中的下标;当要用它时,可随时用ReDim语句重新指出数组的大小。使用动态数组的优点是可以根据用户需要,有效利用存储空间。

特点

数组到底应该有多大才合适,有时可能不得而知。所以希望能够在运行时具有改变数组大小的能力。

动态数组就可以在任何时候改变大小。在Visual Basic中,动态数组最灵活、最方便,有助于有效管理内存。例如,可短时间使用一个大数组,然后,在不使用这个数组时,将内存空间释放给系统。

如果不用动态数组,就要声明一个数组,它的大小尽可能达到最大,然后再抹去那些不必要的元素。但是,如果过度使用这种方法,会导致内存的操作环境变慢。

C++-----申请动态数组

 

//一维动态数组
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    int *p;
    cin>>n;//输入你想要的数组大小
    p=new int[n];//向操作系统申请n+1个int 性连续空间
    for(int i=0;i<n;i++)
    {
        p[i]=i;
        cout<<p[i]<<" ";//输出0 1 2 3 4
    }
    delete []p;//记得释放

    return 0;
}

//二维动态数组
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,m;//n行数,m列数
    cin>>n>>m;
    int **p=new int*[n];//申请行
    if((p)==0)
    {
        cout<<"fasle"<<endl;
        return 0;
    }
    for(int i=0;i<n;i++)//申请列
       {
        p[i]=new int[m];
        if(p[i]==0)
        {
        cout<<"fasle"<<endl;
        return 0;
        }
       }
        // 初始化
       for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            p[i][j] = i;
      //输出
      for(int i=0;i<n;i++)
      {
       for(int j=0;j<m;j++)
        cout<<p[i][j]<<" ";
         cout<<endl;
      }
      //释放内存
      for(int i=0;i<n;i++)
        delete p[i];
      delete []p;
	return 0;
}

以前天真的认为动态数组就是vector,所以顺便整理一下vector,

【点这里】


举报

相关推荐

0 条评论