Har två egna typer, board och amazon som båda är typedefade OK(det funkar i ett av fallet som vi ska se...). När jag i main skriver:
Code: Select all
board *currBoard;
amazon * piece;
...
...
currBoard->board = (char**) calloc(size*size, sizeof(char*));
Vänder jag istället på deklarationerna så att de blir:
Code: Select all
amazon * piece;
board *currBoard
Så segfaultar den INTE på calloc. Tänkte först att det kanske beror på vilket innehåll jag har i mina struct:ar, men kan inte komma på vad det skulle vara? Det irriterande är att om jag i fallet att den segfaultar väljer att kommentera ut piece-raden så går den igenom felfritt. Då använder jag inte piece i koden som den är nu, det är bara en oanvänd pekare!
Code: Select all
typedef struct{
char ** tiles;
int size;
} board;
typedef struct{
int colum;
int waiting;
} amazon;
Det är kod från en hemuppgift, men uppgiften går inte ut på att förklara ett för mig obegripligt segfault i egenskriven kod
Kör gcc 4.3.4 under cygwin. Får samma fel med gcc 3.4.4. Om någon har förslag på varför det blir som det blir mottas det tacksamt