繁体   English   中英

为什么在typedef中使用指针?

[英]Why pointer in typedef?

看到这个结构

typedef struct Node{
    void *data;
    int pos;
    struct Node *prev;
    struct Node *next;
}*lptr;

我想知道为什么Node的typedef是*lptr而不是lptr 指针有什么区别?

虽然是很常见的有两种typedef秒-一个是struct ,以避免标签,以及一个用于struct指针,以避免星号,这样

typedef struct Node{
    void *data;
    int pos;
    struct Node *prev;
    struct Node *next;
} Node;
typedef Node* lptr;

如果作者希望避免在lptrNode之后写一个星号,他们当然可以用typedef指向struct Node的指针。

typedef用于指针类型。

lptr是类型struct Node*

因为定义(typedef)是指针类型。 删除它会使lptr成为Node类型,*使它成为指向 Node的指针

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM