Rimane in memoria in una parte della memoria chiamata (mi pare) tabella delle stringhe...Originariamente inviato da Lucked
Siii..ho trovato la strada che mi piace!
dichiaro nella struct un puntatore nome e poi faccio:
a1.nome = "Luca";
ho delle domande però:
1)ma se poi faccio:
a1.nome = "Andrea";
"Luca" rimarrà da qualche parte nella memoria dell'heap o si cancella?![]()
TUTTE le costanti rimangono in memoria... E se provi a modificarle cambierà il valore di tutti i puntatori che puntano alla stesa stringa.
Perchè cerchi di inserire un aray in un array, e ciò non va bene:2)è più o meno conosciuto il motivo per cui se faccio:
char nome[15];
nome = "Luca";
è errore?
per sopravvivere a ciò mi pare si usi, come mi avete detto la funzione strcpy
non va bene nemmeno fare:
int a[3], b[3] = { 1, 2, 3 };
a = b;
per lo stesso motivo: non puoi assegnare a un array il valore di un altro array.
Devi assegnarlo elemento per elemento, e la funzione strcpy fa proprio questo
![]()