1、
typedef struct Node
{
int a;
int b;
};
2、
typedef struct
{
int a;
int b;
}Node,*Node;
3、
typedef struct Node
{
int a;
int b;
}Node,*Node;
首先typedef是定义别名的作用,别名放在最后的分号之前;
第一种:可以去掉typedef,因为typedef是用来定义别名的,别名紧跟在大括号后面,而第一种没有写别名,所以写不写typedef都一样;
第二种:定义结构体别名为Node,而*Node则是指向结构体的指针,可以随便取个名字都行,比如*pNode......,另外有了别名可以不用学结构体名;
第三种:和第二种一个意思,就是定义一个Node结构体,别名为Node,指向结构体的指针为*Node;
typedef 就是用来定义别名的
一般用的多的是第三种,而且第三种中第一个Node一般改为_Node
第二种第三种等价,它们比第一种多一个别名
三种都差不多,随你便
额,这个分开学习会比较好,清楚typedef 和struct 的含义就比较容易理解了
一般用的多的是第三种,