C++结构体声明别名是指针的问题
如下声明:typedefstructLNode{intdata;LNode*next;}LNode,*Linklist;LNode和Linklist是什么关系?能举一些比...
如下声明:
typedef struct LNode
{
int data;
LNode *next;
}LNode,*Linklist;
LNode和Linklist是什么关系?
能举一些比较绕的例子么? 展开
typedef struct LNode
{
int data;
LNode *next;
}LNode,*Linklist;
LNode和Linklist是什么关系?
能举一些比较绕的例子么? 展开
2个回答
展开全部
typedef struct LNode
{
int data;
LNode *next;
}LNode;
这样写表示定义一个结构体struct LNode,并且其可以简写为LNode。顺带一提,现在这样写typedef已经意义不大了,因为多数编译器已经支持直接简写结构体名称(不写struct),而且你看这个结构体的内部实际上已经在使用简写了(LNode *next)
typedef struct LNode
{
int data;
LNode *next;
}*Linklist;
这样写表示定义一个结构体LNode,并且其指针类型LNode*以后可以记作Linklist
{
int data;
LNode *next;
}LNode;
这样写表示定义一个结构体struct LNode,并且其可以简写为LNode。顺带一提,现在这样写typedef已经意义不大了,因为多数编译器已经支持直接简写结构体名称(不写struct),而且你看这个结构体的内部实际上已经在使用简写了(LNode *next)
typedef struct LNode
{
int data;
LNode *next;
}*Linklist;
这样写表示定义一个结构体LNode,并且其指针类型LNode*以后可以记作Linklist
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询