Lanciare una struttura C in un’altra

Ho due strutture C identiche (ma con nomi diversi):

typedef struct { double x; double y; double z; } CMAcceleration; typedef struct { double x; double y; double z; } Vector3d; 

Ora voglio assegnare una variabile CMAcceleration a una variabile Vector3d (copiando l’intera struttura). Come posso fare questo?

Ho provato quanto segue ma ottengo questi errori del compilatore:

 vector = acceleration; // "incompatible type" vector = (Vector3d)acceleration; // "conversion to non-scalar type requested" 

Certo che posso ricorrere per impostare tutti i membri individualmente:

 vector.x = acceleration.x; vector.y = acceleration.y; vector.z = acceleration.z; 

ma sembra piuttosto scomodo.

Qual è la soluzione migliore?