char* a new char(100000) 到底是数组还是仅仅是分配了内存空间?char* a new char(100000) 到底是数组
char* a = new char(100000) 到底是数组还是仅仅是分配了内存空间? char* a = new char(100000) 到底是数组还是仅仅是分配了内存空间? 这个数组或者说分配的内存空间是连续的吗? 谢谢 [解决办法] 不是数组,一个 char 而已,初始值 100000,数字还溢出了。 数组用这个 char* a = new char [100000],释放用 delete [] a;
[解决办法] 是个数组。 肯定会占用内存的。 标准保证地址连续,且是数组下标的严格单调增函数。 [解决办法] char* a=new char[10000]; a字符数组已经分配空间了,内存连续。 [解决办法] char* a = new char(100000) 到底是数组还是仅仅是分配了内存空间? a是一片内存的的入口,使用上,你当作指针或者数组都可以,但是,如果当作指针,你改变指针之前,必须保留一分拷贝
这个数组或者说分配的内存空间是连续的吗? 逻辑上肯定是连续的,但在物理上,不一定由操作系统决定
[解决办法]
两个说法均是正确的,内存区域一定是连接的。 [解决办法]
char* a = new char(100000) 到底是数组还是仅仅是分配了内存空间? a是一片内存的的入口,使用上,你当作指针或者数组都可以,但是,如果当作指针,你改变指针之前,必须保留一分拷贝