可能重复:
为什么我写超出数组末尾时不会出现分段错误?
此代码编译并运行没有任何错误。但是怎么做?
#include <stdio.h>
int main (void)
{
int foo[2];
foo[8] = 4; /* How could this happen? */
printf("%d\n", foo[8]);
return 0;
}
我在 Arch Linux x86_64 上使用GCC 4.7.2进行编译。
gcc -Wall -o "main" "main.c"