typedef 就是定义一种新类型。
例如:typeef int ElemType;就是将ElemType看成是int的一种别名。这里的ElemType类型就是重新定义的int类型数据的意思。
struct student {定义体}; struct student s1,s2;//定义结构体和定义变量分开进行 能再次定义该类型变量。
struct student {定义体}s1,s2; //定义结构体的同时 定义s1,s2变量 能再次定义该类型变量。
struct {定义体}s1,s2;//定义s1,s2两个变量 但是不能再次定义该类型变量。
typedef struct student
{
ElemType data;
int length;
} stu; //使用了typedof关键字 stu s1,s2;就是 struct student s1,s2; 将stu看成是一种类型
struct LNode
{ ElemType data;
struct LNode *next;
};
这样写的话,就是定义了一个名叫LNode的结构体;如果利用这个结构体定义一个变量就写成:struct LNode abc;
typedef struct LNode
{ ElemType data;
struct LNode *next;
}LNode,*Linklist;
这个大括号后面的LNode是struct LNode这个结构体类型的别名,这个可以自己起名的,不过在这里比较特殊,别名和结构体的名字一致了,其实可以是任意的名字;*Linklist也是指向struct LNode这个结构体的一个指针;也是个别名 ,这时要是在声明一个结构体变量就可以写成 LNode abc;了不要用struct LNode abc了;