嗨,我从这段代码中得到了一个奇怪的分割故障:
int main(void){
int array1[10000000];
int n = sizeof(array1);
printf("%d \n", n );
return 0;
}
然而,如果我更改了
int array1[10000000];
to
int array1[1000000]; ( one less zero)
这个程序运行正常并且输出了4000000。
我在Fedora 21(64位)上运行它。
这是因为在C语言中数组有一个最大的大小限制吗?谢谢。