Question
J'avais struct point {(...)};
défini. Mais avec les normes ANSI il semble que je dois le faire avec typedef. Comment puis-je faire cela correctement? typedef struct point {} point;
? typedef struct {} point;
? typedef struct point {};
?
La solution
Vous pouvez faire:
typedef struct Point { ... } MyPoint;
et ensuite utiliser les deux types de déclarations:
struct Point p1;
MyPoint p2;
Autres conseils
Ces expressions sont correctes deux:
typedef struct point { /* ... */ } point;
typedef struct { /* ... */ } point;
La première version définit struct point
et définit ensuite point
comme un alias pour elle, tandis que le second définit point
comme un alias pour un struct anonyme.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow