数组地址越界>>指针移动次数应与数组变量个数相等,否则会报错,但是我运行运行里面的代码后并未报错,是我理解错了还是版本更新呢

问题遇到的现象和发生背景

数组越界问题
在下面代码中,数组大小已经指定为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]);
    }
}

正好这块内存没有分配给任何进程,还是空闲的,所以你操作也不会报错