Je suis en train d'apprendre C et je suis tombé sur quelque chose de bizarre:Pourquoi ne puis-je pas attribuer de manière interchangeable avec deux structures ayant un contenu identique?
struct
{
int i;
double j;
} x, y;
struct
{
int i;
double j;
} z;
Ici, vous pouvez voir que j'ai créé deux struct
s qui sont identiques dans leurs éléments.
Pourquoi est-ce que quand j'essaye d'assigner x = z
cela va générer une erreur de compilation mais pas x = y
? Ils ont le même contenu, alors pourquoi ne puis-je pas les allers-retours les uns avec les autres?
Y at-il un moyen que je peux faire ce que je peut affecter x = z
? Ou doivent-ils simplement être les mêmes struct
.
Est-ce que les gourous C peuvent me diriger dans la bonne direction?
Quand vous dites typedef x z; Comment ça marche? Pouvez-vous élaborer un peu sur ce que vous voulez dire pour pouvoir typer la structure et en créer des instances? – Mithrax
'typedef struct x z' – Ismael