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