What’s the difference between these two declarations?struct x1 { … };typedef struct { … } x2;

struct x1 { … };

typedef struct { … } x2;

The first form declares a structure tag; the second declares a typedef. The main difference is that the second declaration is of a slightly more abstract type.its users don’t necessarily know that it is a structure, and the keyword struct is not used when declaring instances of it.