一、怎样使用动态数组?
1. 定义一个指针类型:
定义的指针类型要等同于为单个数组元素使用的指针类型。例如,假定动态数组是一个double类型的数组,那就可以向下面这样定义指针类型:
typedef double* DoubleArrayPtr;
2. 声明一个指针变量:
声明一个指针变量,它具有前面定义的类型。指针变量将指向内存中的动态数组,并被用作动态数组的名称:
DoubleArrayPtr a;
3. 调用new:
使用操作符new来创建一个动态数组
a = new double [array_size];
4. 动态数组的长度在方括号内给出。可使用一个int变量或者int表达式来给出长度。在上例中,array_size可以是int类型的一个变量,其值在程序运行时确定。
5. 像普通数组那样使用:
指针变量(比如a)可以向普通数组那样使用。例如,你可以采取标准方式来书写索引变量,比如a[0],a[1],等等。不能再给指针变量赋任何其它值。相反,它应该像一个数组变量那样使用。
6. 调用delete[]:
程序结束动态数组的使用之后,就使用delete、一堆空的方括号和指针变量来销毁动态数组,使其占用的内存返还给自由存储,以便重新使用。
delete [] a;