In C++, is there any difference between:
struct Foo { ... };
and:
typedef struct { ... } Foo;
Struct is to create a data type. The typedef is to set a nickname for a data type.
There is no difference in C++, but I believe in C it would allow you to declare instances of the struct Foo without explicitly doing:
struct Foo bar;