Prima di tutto manca l'allocazione di A ... in realtà penso che ci sia un equivoco sulla struttura complessiva dei dati ... non esiste un A[0] e un A[1] ...

codice:
struct infor{
	int size;
	elem **first;
};


	A = (heap *)malloc(sizeof(heap));
	A->size = n;
	A->first = vet;
	printf("\n Priorita' di A[0] =  %d  ", (*(A->first))->prior);
	printf("\n Priorita' di A[1] =  %d  ", (*(A->first+1))->prior);