Considera la seguente funzione C che accetta come argomento una stringa, che viene quindi memorizzata all'interno di una struct:
struct mystruct* usestring(char* string)
{
struct mystruct *struct;
struct = malloc(sizeof(struct mystruct));
struct->string = string;
return struct;
}
La mia comprensione è che la stringa passata alla funzione è la stessa stringa memorizzata all'interno della struttura.
Qual è l'etichetta corretta in questa situazione? Dovrei fare una copia della stringa e archiviarla nella struct, o dovrei aspettarmi che la funzione caller non modifichi la stringa in seguito?