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 所指向的动态数组,并将内存还给操作系统。
 

原文地址:https://www.cnblogs.com/goodhx/p/5154773.html