typedef struct (资料整理)
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
LNode和*LinkList;是与前面的typedef配合起来使用的,意思是给你声明的结构体起一个别名叫LNode,同时起一个指针别名叫LinkList
LNode a;//声明了一个struct LNode型变量a,与写struct LNode a;等价,省心多了;
LinkList p;//声明了一个struct LNode *型指针变量p,与写struct LNode *p等价,也省心多了。
如果没有前面的typedef,意思就不一样了:LNode就只是一个struct LNode型变量,LinkList也就只是个struct LNode *型指针。
typedef struct lnode(结构体及结构体指针)解惑
数据结构解惑01
在数据结构中会看到
typedef struct QNode
{
QElemType data; //数据域
struct QNode *next; //指针域
}QNode,*QueuePtr;
可以这样来理解
typedef struct QNode Qnode
typedef struct QNode *QueuePtr
同样通过这样一个例子可以这样来理解
typedef struct int ElemType
typedef struct int* ElemTypePtr
第一个是 定义新的整型变量 ElemType
第二个是 定义新的指向整型变量的指针 ElemTypePtr
可以简单理解为 ElemType = int
ElemTypePtr = int*
同理在上面的结构体中
可以理解为
typedef struct QNode QNode
typedef struct QNode* QueuePtr
于是
QNode 的对象都是结构体
QueuePtr 的对象都是结构体指针