数组越界问题
在下面代码中,数组大小已经指定为5,这里设定i < 11后,5次以后会给未知区域赋值,应该会报错,但是我在VS 里运行后并未报错,是版本更新还是我理解错了呢?
int main()
{
int i;
int *p;
int a[5];
p = a;
for (i = 0; i < 11; i++)
{
*p = i + 10;
p++;
}
for (int j = 0; j < 11; j++)
{
printf("%d\n", a[j]);
}
}
正好这块内存没有分配给任何进程,还是空闲的,所以你操作也不会报错