Я ошеломлен, почему этот код вызывает ошибку сегментации?
#include <stdio.h>
#define LIMIT 1500000
typedef struct {
int p;
int a;
int b;
} triplet;
int main(int argc, char **argv) {
int i;
triplet triplets[LIMIT];
for (i = 0; i < LIMIT; i++) {
triplets[i].p = 9; // remove this line and everything works fine
}
printf("%d\n", triplets[15].p);
return 0;
}
РЕДАКТИРОВАТЬ : После изменения LIMIT на 150 я больше не получаю ошибку сегментации, вместо этого он печатает случайные числа.
EDIT2 : Теперь я знаю, что означает название сайта :) Я сделал массив глобальным, и теперь все работает нормально.