typedef struct

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 的对象都是结构体指针

 

posted @ 2015-09-16 08:58  妖妖yaoyao  阅读(2496)  评论(0编辑  收藏  举报