C++中用new创建数组的问题

原本应该是int*p=NULL;p=newint[10];但是int*p=NULL;p=newint;仍然能访问到p[1],但是访问不到p[2],p[1]能赋值也能输出,... 原本应该是 int *p = NULL; p = new int [10]; 但是 int *p = NULL; p = new int; 仍然能访问到p[1],但是访问不到p[2],p[1]能赋值也能输出,为什么。 展开
 我来答
8826055
2015-09-09 · TA获得超过7510个赞
知道大有可为答主
回答量:1680
采纳率:81%
帮助的人:889万
展开全部
编译器不会检查数组越界,造成的行为未定义。能读写p[1]可以认为只是巧合。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式