定义为“_end[LEN]”的数组在 C/C++ 中导致分段错误

Array defined as "_end[LEN]" causes segmentation fault in C/C++

我试图在 C/C++ 中定义一个名为 _end 的全局数组,大小约为 1000,但即使我只是简单地迭代它,我也会遇到分段错误。名称“_end”在 C/C++ 中是否非常特殊导致此类问题?或者这可能是一个非常严重的错误...(代码附在下面,它在 g++ 4.3.2、4.5.2、4.9.2 等中中断)

#include <iostream>
using namespace std;

int _end[1111];

int main() {
    for (int i=0; i<1111; i++) {
        cout << i << endl;
        _end[i]++;
    }
    return 0;
}

您可以在 https://ideone.com/XAcUeZ 看到结果。 参见 here C 编译器。

以下划线(或两个)开头的名称是为编译器保留的。这是官方的 C++ 标准。使用风险自负。