typedef最简答的用法就是声明一个同义词
typedef int ElemType;
typedef unsigned int Word
typedef struct就是声明一个struct,然后将这个struct变成一个同义词而已,这样方便声明和使用
例如单链表节点类型的描述如下:
typedef struct LNode{
ElemType data;
struct LNode * next;
}LNode, *LinkList;
在这个地方,struct LNode中LNode是struct的名字
下面这个LNode其实上是struct LNode的别名,声明变量的时候,就可以直接LNode LinkList1这样进行声明。
如果没有后继指针的话,这个地方直接typedef struct是没有问题的,由于后继指针的关系,在结构中也需要用到这个struct,一次要对这个struct进行命名而已。
注意,如果结构中使用结构的别名是不行的,所以必须给struct命名。
顺序表的struct以及不进行命名,因为里面没有后继节点,当然,加上命名也没问题
typedef struct{
ElemType * data;
int MaxSize , length;
}SeqList;