解惑結構體與結構體指針(struct與typedef struct在數據結構的第一道坎)


/*
數據結構解惑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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM