Nel ciclo for se voglio inserire più di un elemento, il primo mi fa mettere i campi prior e dato senza alcun problema, ma dals econdo in poi mi va in segmentation fault nel punto in cui fa la malloc per elem ( prima istruzione del for ). Come mai ?
codice:struct elemento{ int prior; int dato; }; typedef struct elemento elem; struct infor{ int size; struct elemento *first; }; typedef struct infor heap; int main(){ elem **vet; heap *A; int n,i; printf("\n\n Digita il numero di elementi che vuoi inserire : \n\n"); scanf("%d",&n); vet=(elem **)malloc(n*sizeof(elem *)); for(i=0;i<n;i++){ vet[i]=(elem *)malloc(sizeof(elem)); printf("\n\n Digita il valore della %d priorita' : ", i); scanf("%d",vet[i]->prior); getchar(); printf("\n\n Digita il valore del %d dato : ", i); scanf("%d",vet[i]->dato); getchar(); } printf("\n\n La prima priorita' vale : %d : ",vet[0]->prior); system("PAUSE"); return 0; }

Rispondi quotando