PDA

Visualizza la versione completa : [C] Assegnazione strutture ed errore "Incompatible type of pointer"


keykode20
05-02-2012, 18:05
salve ho una domanda banale quasi mi vergogno di farla solo che non riesco a trovare la soluzione..
ho una struttura definita cosi:


struct schedina{
int scelta[N];
struct schedina *next:
}


ho creato due metodi uno che crea la schedina vincente col next=NULL e un altro metodo che genera una serie di schedine da giocare.
Essendo la struttura schedina composta da un array, ho creato un array che poi dovrei assegnare ad x->schedina,
per semplicitÓ vi copio il codice...



struct schedina *vincente(){
struct schedina *s;
int i;
int a[N];
for(i=0; i<N; i++){
printf("inserisci %d numero",i);
scanf("%d",a[i]);
}
s->scelta=a; //errore
s->next=NULL;
}



incompatible tupe of pointer
come faccio, dunque, ad assegnare ad s->scelta l'array generato?

keykode20
05-02-2012, 18:10
scusate ho risolto il problema... ma non riesco a cancellare il post!

oregon
05-02-2012, 18:21
I post non si cancellano ... semmai, se hai risolto, dovresti scrivere come hai fatto ...

keykode20
05-02-2012, 18:33
OK ^^

ho risolto il problema evitando di fare l assegnazione fra la struttura e l array, ho fatto in modo di scrivere direttamente da input su struttura



struct schedina *vincente(){
printf("Inserisci combinazione della schedina vincente\n\n");
struct schedina *s;
int i;
int a[N];
for(i=0; i<N; i++){
s=(struct schedina*)malloc(sizeof(struct schedina));
printf("inserisci %d numero",i+1);
scanf("%d",&s->scelta[i]); //inserisco direttamente su struttura
}
s->next=NULL;
return s;
}

Loading