C语言结构体指针的问题?

请问这段代码是什么意思?

 typedef struct student{
    int num;
    struct student *pnext;
}stu, *pstu;

typedef的意思是说把A的别名设置为B
所以stu是struct student的别名
*pstu是struct student指针的别名
struct student 等价于 stu
struct student * 等价于 pstu

指向下一个student结构体对象。链表就是这样实现的。把一串Student对象连接起来

声明一个结构体student,里边有2个成员,num和struct student类型的指针pnext,然后给这个结构体取了2个名字,stu和一个结构体指针pstu

student本身构成一个单链表,包含一个数据域(int name)和一个链域(next)

创建了个pointer