/*
數據結構解惑01
在數據結構中會看到
typedef struct QNode { QElemType data; //數據域 struct QNode *next; //指針域 }QNode,*QueuePtr;
typedef struct { QueuePtr front; //隊頭指針 QueuePtr rear; //隊尾指針 };
先來解釋下上面第一個結構體
關鍵在於后面的那個部分如何理解
就是
typedef struct QNode
{
QElemType data;
struct qNode *next;
}QNode,*QueuePtr;
就是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 的對象都是結構體指針
轉自:http://blog.sina.com.cn/s/blog_729bdd570100pb3b.html