C++之动态数组

Posted

tags:

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

C99支持一种名为变长数组的结构来方便程序员。C++也提供了一种长度可在程序运行时确定的数组类型:动态数组。
声明格式为:(声明 int 类型的数组)

1  int ArraySize = 0;
2  //此处可修改 ArraySize 的值
3  int *a = new int[ArraySize];

通过上面声明,就可创建程序需要大小的数组了。例如:通过下面小例子为一学生管理系统,在程序运行时,首先询问用户学生数量,然后创建合适的数组,并初始化后输出

 1 #include<iostream>
 2 using namespace std;
 3 int main(void)
 4 {
 5     int SizeVal = 0;
 6     cout << "Input Size : ";
 7     cin >> SizeVal;
 8     int *p = new int[SizeVal];
 9     for(int i=0; i< SizeVal; i++){
10         p[i] = i;
11     }   
12     for(int i=0; i< SizeVal; i++){
13         cout << p[i] << " ";
14     }   
15     cout << endl;
16   return 0;
17 }

程序运行结果:
Input Size : 20
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

在使用完动态数组后,为了节省内存,需要将不用的动态数组删除,方式如下:

1 delete [] p;

该语句即可删除 p 所指向的动态数组,并将内存还给操作系统。
 

以上是关于C++之动态数组的主要内容,如果未能解决你的问题,请参考以下文章

力扣技巧之动态规划力扣53:最大子数组和C++

力扣技巧之动态规划力扣300:最大递增子序列C++

算法动态规划之图的最短路径(C++源码)

C++ STL之vector详解

❥关于C++之模板类vectorarray VS 数组

堆栈动态和堆栈动态数组