0

我在使用 malloc 分配 16777216 (16mb) 并尝试迭代该数组 n 次时遇到分段错误。我似乎无法找到为什么我遇到分段错误..

register *a;
a = malloc(16777216);
int times, i, dummy, timeTaken;
for (times = 0; times < 10000; times++) {
    for (i = 0; i < 16777216; i += 1) {
        dummy = a[i];
    }
}
4

1 回答 1

2

它应该是:

 register int *a;
 a = malloc(16777216*sizeof(int));
于 2012-12-12T03:46:06.783 回答