我正在用C ++创建一个2D数组。我用来做这个的代码如下
int** scopedata = new int*[1000];
for(int i=0; i<1000; i++){
scopedata[i] = new int[arraysize];
}
arraysize是一个值为400的int。我遇到的问题是执行代码时
cout << scopedata[999][500];
返回值0。我期待一个内存地址错误,因为第500个元素不应该存在,如果arraysize是400.任何人都可以为我解释这个问题吗?创建的2D数组实际上是否应该大于它应该是什么?