C++之动态数组

时间:2023-03-09 19:17:36
C++之动态数组

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

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

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

 #include<iostream>
using namespace std;
int main(void)
{
int SizeVal = ;
cout << "Input Size : ";
cin >> SizeVal;
int *p = new int[SizeVal];
for(int i=; i< SizeVal; i++){
p[i] = i;
}
for(int i=; i< SizeVal; i++){
cout << p[i] << " ";
}
cout << endl;
return ;
}

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

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

 delete [] p;

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