estoy tratando de aprender C y he encontrado algo raro:¿Por qué no puedo asignar intercambiablemente con dos estructuras que tienen contenidos idénticos?
struct
{
int i;
double j;
} x, y;
struct
{
int i;
double j;
} z;
Aquí, se puede ver que he creado dos struct
s que son idénticos en sus elementos.
¿Por qué cuando trato de asignar x = z
generará un error de compilación pero x = y
no? Tienen los mismos contenidos, entonces ¿por qué no puedo asignarlos de ida y vuelta el uno con el otro, independientemente?
¿Hay alguna manera de que pueda hacer esto para que pueda asignar x = z
? O simplemente tienen que ser el mismo struct
.
¿Pueden los gurús de C señalarme en la dirección correcta?
Cuando diga typedef x z; ¿Cómo funciona? ¿Puedes explicar un poco sobre lo que quieres decir para poder escribir la estructura y crear instancias de ella? – Mithrax
'typedef struct x z' – Ismael