C++ 定义动态数组

char a [ ] =" "
空格的数量由变量a决定

求解如何定义出这个数组

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]
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答