// 想要定义结构体类型的指针一定要用typedef
// 写法1
typedef struct node{
int value;
node* next;
}*nodePtr;
nodePtr head = new node();
node* head1 = new node();// 两种写法等价
// 写法2
struct node{
int value;
node* next;
};
typedef node* nodePtr;
nodePtr head = new node();
node* head1 = new node();// 两种写法等价
// 写法3:没有typedef只能定义结构体变量,不能定义结构体指针类型
// 定义结构体变量
struct node{
int value;
node* next;
}node1,node2;
// 上面的写法等价于
node node1,node2;
// 写法4:没有typedef只能定义结构体变量,不能定义结构体指针类型
// 定义两个结构体类型的指针变量
struct node{
int value;
node* next;
}*node1,*node2;
// 上面的写法等价于
node1 = new node(); // new()的返回值是指针
node2 = new node(); // new()的返回值是指针