数组

变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。

用指针p指向new动态分配的长度为len*sizeof(int)的内存空间

int *p=new int[len]; 
delete[] p;

不能这样做,C++编译器会报len的大小不能确定,因为用这种形式声明数组,数组的大小需要在编译时确定

 int p[len];

这样也不行,编译器不能把int*型转化为int[]型,因为用new开辟了一段内存空间后会返回这段内存的首地址,所以要把这个地址赋给一个指针

 int p[]=new int[len];

发表评论