Dunque, hai la situazione del tipo:
scheda **array[];
Equivalente nel tuo caso a:
scheda ***array;
( Poi sembra che tu non inizializzi array, ma usi subito il primo elemento che NON hai allocato )
Tralasciando la precisazione di prima, quindi *array è del tipo (scheda **) che allochi per 30 posti.. *array[0] .. *array[29] ognuno di questi ( *array
) è del tipo (scheda *) a cui tu associ l'elemento albero che è anch'esso di tipo (scheda *) e penso che tu lo inizializzi da qualche parte.
Quindi riassumendo credo che l'errore sia nel non inizializzare "array"