intmain(){
intlen;cin>>len;
//用指针p指向new动态分配的长度为len*sizeof(int)的内存空间
int*p=newint[len];
...........delete[]p;
return0;
}
注意int*p=newint[len];
这一句,你不能这样做:intp[len];
C++编译器会报错说len的大小不能确定,因为用这种形式声明数组,数组的大小需要在编译时确定。而且这样也不行:intp[]=newint[len];编译器会说不能把int*型转化为int[]型,因为用new开辟了一段内存空间后会返回这段内存的首地址,所以要把这个地址赋给一个指针,所以要用int*p=newint[len]
温馨提示:内容为网友见解,仅供参考