Grazie mille, comunque seguiro' il tuo consiglio, a breve acquistero' un libro.Originariamente inviato da unomichisiada
Per la prima domanda il (int *) è un cast (cioè una conversione esplicita di tipo) da puntatore a void a puntatore ad inteo.Questo perchè la malloc non sapendo a priori che tipo di array ci allocherai ti restituisce un puntatore a void* (un puntatore di tipo generico diciamo) che per essere utilizzato deve essere convertito.Ora non tutti i compilatori ti danno errore se non lo metti, però dovrebbero e quindi mettilo comunque.
Per la seconda domanda, la & non ci vuole nel caso acquisisa una stringa perchè la scanf ha bisogno del puntatore all'aria di memoria allocata per i dati da acquisire,siccome il nome di un array di caratteri è già un puntatore non hai bisogno di ottenere l'indirizzo di quel puntatore, va giàbene così.![]()

Rispondi quotando
