typedef struct和指针

来源:互联网 发布:淘宝网晚礼服 编辑:程序博客网 时间:2024/05/17 00:53

在学习链表时遇到了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;
0 0
原创粉丝点击