c语言的结构体有关问题

c语言的结构体问题我看见很多地方这样使用结构体C/C++ codetypedef struct Stu{int a}StuAvoid main(){S

c语言的结构体问题
我看见很多地方这样使用结构体

C/C++ code
typedef struct Stu{    int a;}StuA;void main(){    StuA s1,s2;}

但是这样也可以
C/C++ code
struct Stu{    int a;};void main(){    Stu s1,s2;}

为什么喜欢使用第一种呢,有什么效率或者其他的优点,大家谈论下

[解决办法]
C中不用typedef的话,需要写:
struct Stu s1, s2;
所以在C中用typedef可以少写一些“struct”。
[解决办法]
第一种方式:

C/C++ code
typedef struct Stu{    int a;}StuA;void main(){    StuA s1,s2;}