La allocazione dinamica della memoria serve quando si è nei seguenti casi:Originariamente inviato da ilmo lesto
non riesco più a capire quando devo utilizzare la funzione malloc e quando no.
a) La dimensione del blocco di memoria non è conosciuta a priori (ad esempio determinata a runtime in base ad altre condizioni).
b) La dimensione del blocco di memoria è notevolmente grande (su questo si potrebbe discutere, ovviamente ....)
c) Il blocco di memoria va allocato dinamicamente perché deve essere restituito da una funzione o in situazioni in cui si deve avere della memoria a sé stante non globale o cose del genere.
Perfetto, leggi da stdin e depositi i caratteri in string1. Poi l'indirizzo di string1 lo assegni a string2. NON copi la stringa, solo il puntatore: string2 punta all'array string1 e basta.Originariamente inviato da ilmo lesto
codice:main(){ char string1[SIZE]; char *string2; printf("\nSTRING? "); fgets (string1, SIZE, stdin); string2 = string1; puts (string2); }