C中的数组元素超出索引

时间:2018-07-30 15:06:25

标签: c

在C中的数组声明为:

类型名称[elements];

那么这段代码为什么不抛出诸如“越界”之类的异常或任何其他异常?

#include <stdio.h>
void main()
{
    int a[5];
    a[7]=75;
    printf("%d",a[7]); 
}

1 个答案:

答案 0 :(得分:0)

因为在C语言中,具有数组名称的变量是指向数组第一个存储单元的指针,而括号之间的数字是您想要的数据与数组起始位置的偏移量,所以它不是检查它是否为阵列的存储单元。