【发布时间】:2011-08-08 08:56:02
【问题描述】:
这就是你们在 ANSI-C99 中获取数组大小的方法吗?看起来有点笨拙,来自高等语言。
int tests[7];
for (int i=0; i<sizeof(tests)/sizeof(int); i++) {
tests[i] = rand();
}
这也是分段错误。
int r = 10000000;
printf ("r: %i\n", r);
int tests[r];
运行它:
r: 10000000
Segmentation fault
10000000 段错误,但 1000000 有效。
如何从中获取更多信息?我应该检查什么以及如何调试这样的东西? C 数组有限制吗?什么是分段错误?
【问题讨论】:
-
所以!尝试在堆上而不是在堆栈上分配。
标签: c arrays segmentation-fault