c\c++提供了许多种基本的数据类型(如int、float、double、char等)供用户使用。但是由于程序需要处理的问题往往比较复杂,而且呈多样化,已有的数据类型显得不能满足使用要求。因此c\c++允许用户根据需要自己声明一些类型,用户可以自己声明的类型还有结构体类型(structure)、共用体类型(union)、枚举类型(enumeration)、类类型(class )等,这些统称为用户自定义类型(user-defined type,UDT)。
由此可见结构体本身也是一种数据类型,但是需要由用户自己定义这种类型的具体内容,一旦定义好了,它可以和基础数据类型一样的使用,定义的变量就是叫结构体变量,定义的指针就是指向该类结构体的结构体指针
typedef struct node
{
datatype data;
struct node *next;
}linklist;
相当于
struct node
{
datatype data;
struct node *next;
}
typedef struct node linklist;
typedef的作用是重命名;这段的意思就是把struct node重名为linklist;
linklist a;就相当于struct node a;
typedef struct node
{
datatype data;
struct node *next;
}linklist;
请注意最前边有个typedef。。。你百度一下这个关键字就知道是怎么回事了,这在C中很常用的