[英]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;
如果作者希望避免在lptr
或Node
之后写一个星号,他们当然可以用typedef
指向struct Node
的指针。
typedef用于指针类型。
lptr
是类型struct Node*
因为定义(typedef)是指针类型。 删除它会使lptr成为Node类型,*使它成为指向 Node的指针 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.