typedef struct和指針


在學習鏈表時遇到了typedef已經用typedef定義的指針,不是很懂,某浪里有位博主的博文寫的很詳細,我直接粘過來 
假設我們定義一個結構體:

typedef  struct ANSWER_HEADER
{
    u8 u8Type;
    u8 u8Code;
    u32 u32TimeStamp;
    struct ANSWER_HEADER *pNext;
}ANSWER_HEADER_T, *PANSWER_HEADER_T;

ANSWER_HEADER為結構名,這個名字主要是為了在結構體中包含自己為成員變量的時候有用(因為執行到第6行時,別名還沒有被編譯,所以第6行只能用結構名來定義指向這個結構的指針.
ANSWER_HEADER_T為struct ANSWER_HEADER的別名 
PANSWER_HEADER_T為struct ANSWER_HEADER*的別名

上面的定義方式等價於

struct ANSWER_HEADER
{
    u8 u8Type;
    u8 u8Code;
    u32 u32TimeStamp;
    struct ANSWER_HEADER *pNext;
};
typedef  struct ANSWER_HEADER ANSWER_HEADER_T;
typedef  struct ANSWER_HEADER *PANSWER_HEADER_T;

之后就可以用ANSWER_HEADER_T和PANSWER_HEADER_T來定義變量,如

PANSWER_HEADER_T L;//定義了一個指向ANSWER_HEADER的指針L

相當於

ANSWER_HEADER *L;

傳送門:typedef struct和指針 - L4EX的博客 - CSDN博客 

https://blog.csdn.net/u013814701/article/details/52996544  

ref:【C語言】23-typedef - M了個J - 博客園 https://www.cnblogs.com/mjios/archive/2013/03/24/2979482.html


免責聲明!

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



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