PDA

View Full Version : macello coi puntatori


Joker91
24-10-2012, 14:50
salve, ho un programma che non funge per segmentation fault... vi presento la situazione dei puntatori e mi dite se qualcosa ad occhio non vi torna...

ho una struct 'scheda'. Ho un puntatore a un array passato come argomento della funzione:

scheda** psarray[];

Nella funzione ho queste dichiarazioni:

scheda* albero;
*psarray = (scheda_t**) calloc(30,sizeof(scheda_t*));

dopodiche' ho un ciclo con un contatore n=0 che aumenta di uno ogni volta che inserisco un elemento di tipo scheda nel psarray. Le stringhe incriminate sono queste:

if ( scheda != NULL) {
*psarray[n] = albero;
n++;
}

E qui, al secondo assegnamento (cioe' quando n=1) mi da' segmentation fault. Cosa sbaglio?

Preciso che a ogni passo del ciclo l' elemento albero di tipo scheda viene creato con una funzione apposita che alloca memoria e ritorna un elemento di tipo scheda*.

EDIT: credo sia un problema di psarray e dell'allocazione con la calloc visto che se faccio la stessa cosa con un array nello stack non da' problemi.