所谓的数组越界,简单地讲就是指数组下标变量的取值超过了初始定义时的大小,导致对数组元素的访问出现在数组的范围之外,这类错误也是 C 语言程序中最常见的错误之一。
在 C 语言中,数组必须是静态的。换而言之,数组的大小必须在程序运行前就确定下来。C 语言并不检验数组边界,数组的两端都有可能越界,从而使其他变量的数据甚至程序代码被破坏。
1 2 3 4 5 6 7 8 9 10 11 | #include <iostream> using namespace std; int main() { int arr[2]={3,2}; arr[3]=1; cout << arr[3] <<endl; cout << arr[-3]; return 0; } |