在《大话数据结构》和《数据结构(C语言版)》中,关于单链表的结构体定义如下
//数据结构(C语言版)中的定义
typedef struct Node
{
ElemType data;
struct Node *next;
}Node ,*LinkList;
//大话数据结构中的定义
typedef struct Node
{
ElemType data;
struct Node *next;
}Node;
typedef struct Node *LinkList;
两种方式是一样的,都在完成两件事。
1.定义结构体
struct Node
{
ElemType data;
struct Node *next;
};
2.为结构体起别名
typedef struct Node Node;
typedef struct Node *LinkList;
//使用别名创建变量
Node node; //结构体类型变量,等价于 struct Node node
LinkList list; //结构体指针变量,等价于struct Node * list