Intanto credo che pa debba essere un vettore di puntatori quindi :

codice:
struct comp **pa;
poi quando allochi la memoria dovresti usare :
codice:
(void *)pa = malloc(sizeof(struct comp *));
Credo che cs nn ti dia errori.