Quelle est la difference entre ces struct

J-M-L:
Dans le passé ne pas mettre typedef obligeait de réutiliser le mot struct dans des déclarations ultérieures mais ce n’est plus le cas aujourd’hui, le typedef avec une struct n’est plus nécessaire

C'est sans doute l'influence du C++.
En C++, la seule différence entre struct et class est que dans une struct, par défaut les membres sont de type "public", alors que dans une class, ils sont de type "private".