Ich bin fassungslos, warum gibt mir dieser Code einen Segmentierungsfehler?Warum ergibt dies einen Segmentierungsfehler?
#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;
}
EDIT: Nach LIMIT 150 Ändern bekomme ich nicht mehr einen Segmentation Fault, druckt er Zufallszahlen statt.
EDIT2: Jetzt weiß ich, was der Name der Seite steht :) Ich machte das Array global und alles funktioniert jetzt gut.
Die Zahlen sind alles, was auf dem Stapel passiert sein (da Sie nur die ersten fünf Feldelemente initialisiert sind, aber Sie drucken den 16.) . – Shog9
'Es druckt stattdessen Zufallszahlen.' Was drucken Sie eigentlich? Zeigen Sie den gesamten Code. – Mahesh
@Mahesh: Bitte lesen Sie die letzten drei Zeilen. – orlp