ich habe ein Problem bei der Prüfung, ob Zeiger in meiner Struktur ist null, es ist mein Code:überprüfen Zeiger in struct NULL ist
zone* z = malloc(sizeof(zone));
z->cases = malloc(sizeof(Case)*300);
for(i = 0; i < 300; i++)
{
Case* c = z->cases[i];
if(c->fourmilier) // HERE IS RAISE SEGMENTATION FAULT
{
if(read(&nbTypeFourmib, sizeof(unsigned char))==-1) {
exit(EXIT_FAILURE);
}
}
}
Meine Struktur:
typedef struct {
unsigned short foodSpawnfreq;
unsigned short foodUnit;
unsigned char sourceFood;
Case** cases;
TypeFourmi** TypeFourmi;
TypeFourmi** TypeBibibte;
} zone;
typedef struct{
fourmiliere* fourmilier;
bibite* bibit;
fourmis* fourmi;
char obstacle;
} Case;
danke :) es ist ok :) – pilout
Es wäre viel einfacher sein Typ 'Fall zu ändern **' zu 'Case *', und verwenden Sie stattdessen 'Case * c = & z-> cases [i]; '. – user694733
@ user694733 ja, aber es ist schwer zu sagen, was das Endziel dieses Codes ist, also ging ich einfach mit der direkten Route – OMGtechy