【发布时间】:2010-12-18 19:03:17
【问题描述】:
如果我更改数组的一个维度的大小,为什么会出现运行时错误:“分段错误?”。示例:
#include <stdio.h>
#define DIM 8
int main(int argc, char **argv)
{
int a[3][3][3][3][3][3][3][3][3][3][DIM],
b;
a[1][1][1][1][1][1][1][1][1][1][1] = 2;
b=a[1][1][1][1][1][1][1][1][1][1][1];
printf("%d \n",b);
return 0;
}
如果 DIM 为 8,则不会产生运行时错误,但如果 DIM 大于 8,则会导致运行时错误“Segmentation Fault”。为什么???
【问题讨论】: