non riesco più a capire quando devo utilizzare la funzione malloc e quando no.
se fino a poco tempo fa mi sembrava tutto così chiaro, ora mi sembra tutto + oscuro...
se io devo assegnare una stringa ad un puntatore, devo utilizzre malloc?
per esempio
in questo caso dovrei prima allocare la memoria di string2 per permetterle di contenere esattamente la stringa del vettore string1?codice:main(){ char string1[SIZE]; char *string2; printf("\nSTRING? "); fgets (string1, SIZE, stdin); string2 = string1; puts (string2); }
se sì, perchè il programma funziona comunque correttamente?
so che la memoria allocata con malloc viene allocata nello heap, ma non capisco se in questo caso è utile farlo e perchè...