Я видел, как C structs объявляли несколько разных способов раньше. Почему это и что, если что-нибудь, каждый делает разные?
Например:
struct foo {
short a;
int b;
float c;
};
typedef struct {
short d;
int e;
float f;
} bar;
typedef struct _baz {
short a;
int b;
float c;
} baz;
int main (int argc, char const *argv[])
{
struct foo a;
bar b;
baz c;
return 0;
}