Bootstrap

ACC2.【C语言】经验积累 栈区简单剖析

int main()
{
  int i=0;
  int arr[10]={1,2,3,4,5,6,7,8,9,10};
  for (i=0;i<=12;i++)
  {
    arr[i]=0;
    printf("A");
  }
 return 0;
}

 执行后无限打印A

在VS2022,X86,Debug环境下,用监视后,原因是arr[12]的地址与i的地址重合(数组越界)

默认情况

不同情况下的存储方式会有所变化

;