Oppure

Loading
27/08/14 18:30
sebas
Grazie, mi sono letto come funziona struct, adesso faccio le modifiche!
Per favore pero mi spiegheresti cosè l'asterisco prima di frutto riga 6, il null al posto dello zero riga 8 srand(time(null)) e cosa significa Frutto.X.
Lo so sono un rompipalle, ma ci metto ore a cercare di capire tutto cercando qualche sito che me lo spiega!
grazie ancora
Ultima modifica effettuata da sebas 27/08/14 18:34
aaa
27/08/14 19:25
TheDarkJuster
Puoi vedere una struttura come una "raccolta di variabili" (int X e int Y nel tuo caso). Di fatto stai dichiarando un nuovo tipo, partendo da tipi già esistenti (interi nel tuo caso). L' asterisco indica che quello è un puntatore. Un puntatore è una variabile che contiene l' indirizzo di memoria iniziale di un'altra variabile/array. Questo è spiegato qui: it.wikipedia.org/wiki/… e qui: science.unitn.it/~fiorella/guidac/… . Siccome il parametro è un puntatore, io passo l' indirizzo di memoria della struct, così, quando andrò a modificare Frutto in realtà sto modificando la variabile nello spazio puntato da Frutto. Frutto punta a MioFrutto, la tua struttura, che quindi verrà modificata.

Visual studio mi pare definisca NULL con
#define NULL 0
mentre GCC
#define NULL (void*)0

è il valore di ritorno per una cattiva allocazione e anche un'area di memoria nulla. Un puntatore che punta a null, punta al niente

P.S. !!!Ho commesso un (grave) errore!!! devi fare Frutto->X e Frutto->Y, scusa.

Ogni altra spiegazione relativa a questo argomento la troverai classificata sotto "puntatori". Ti consiglio di studiare i puntatori, e di organizzare la logica del gioco in maniera più ottimale, per tenere divisa la parte di input e output, e poi (se avrai ancora problemi) aprire un altro topic.
Ultima modifica effettuata da TheDarkJuster 27/08/14 19:32
aaa