Salve ragazzi,
ho una questione banale ma che mi 'disturba'.
In C una funzione non può restituire un array per valori, ma può bensì trattarli solamente per reference. Questo per me è un problema, in quanto in una simulazione molecolare avevo realizzato una struct particle con tre componenti double per le coordinate x, y e z, e realizzato funzioni anche abbastanza complesse che restituiscono strutture create all'interno della funzione stessa per valore.
Ora, per ragioni di condizioni periodiche al bordo che non sto a spiegarvi devo passare ad una descrizione in array di 3 componenti per le coordinate. Per evitare di cambiare la struttura del programma, pensavo semplicemente di realizzare una struttura con un solo array, ovvero
struct Particle{
double r[3];
};
continuando a passarle per valore.
Questo trucco mi consentirebbe di passare array per valore, in sostanza.
Funziona?