typedef struct node
{
int data;
struct node *next;
}stacknode,*linkstack;
typedef将stacknode定义成了结构体类型,将linkstack定义成了指向结构体stacknode的指针类型,它们现在都是一种类型了(同基本类型int等一样),当然可以用它们来定义变量。
至于为什么定义指针域要用struct node *next;而不能用stacknode *next;或linkstack next;因为定义指针域在上面,而定义类型是在下面。在定义指针域的时候,stacknode和linkstack还都不是一种类型。