所以我正在使用一个动态分配的数组,我已经将它设置为容纳 5 个元素,因此应该是 0-4。如有必要,我创建了一个函数来保留它,但我想看看当我在 [5] 处为数组赋值时,我是否遇到了预期的程序崩溃。但是,没有错误,直到 [6]。
这是我的代码:
int* dynamic_arr;
dynamic_arr = new int[5];
for(int i = 0; i <= 100; i++){
dynamic_arr[i] = i;
used++;
cout << dynamic_arr[i]<<endl;
}
这是输出:
0 //i[0]
1 //i[1]
2 //i[2]
3 //i[3]
4 //i[4]
5 //i[5] <-- should be out of range
之后它崩溃了。
为什么我能够为数组的一部分分配一个值,因为缺少更好的术语而超出了范围?
谢谢
OpSrcFTW
编辑:感谢各位的回答,谢谢。我会在下次发布快速回复之前阅读更多内容,对不起。