1,struct{int x;int y;}test1;
定义了结构体变量test1,在程序中可以直接调用test1.x,test1,y;
2,struct test {int x;int y;}test1;
定义了结构体test和结构体变量test1,在程序中可以用test定义别的结构体变量,如test test2;另外可以直接使用test1.x,test1.y;
3,typedef struct test{int x;int y;}test1,test2;
定义了结构体test,并把结构体test1起了别名test1和test2
在程序中,可以使用test或test1或test2定义结构体变量,这些是等价的,表达的意思一样;
4,,typedef struct {int x;int y ;}test1;
定义了结构体,但没有给结构体起正式的名字,只是起了一个别名test1,在程序中可以用test1定义结构变量。