以下内容:
#include <stdlib.h>
int main() {
long n = 20e6;
float values[n];
for(long i = 0; i < n; i++)
values[i] = 0;
return 0;
}
我得到Segmentation fault: 11
。但有以下几点:
#include <stdlib.h>
int main() {
long n = 20e6;
float *values = malloc(n*sizeof(float));
for(long i = 0; i < n; i++)
values[i] = 0;
return 0;
}
不。为什么呢?