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 的對象都是結構體指針

 


免責聲明!

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



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