结构体定义 typedef struct Lnode{ int data; struct Lnode *next; }Lnode,*LinkList;是什么意思

初学者提问请通俗一点讲解
2024-11-05 09:33:03
推荐回答(1个)
回答(1):

这句话其实有两层意思,

先是结构体的定义,
源代码:struct Lnode{ int data; struct Lnode *next; }

  解释:结构体类型定义的一般形式为:struct 结构名 {结构成员表};
其次是给结构体声明了另外一个名字,
  typedef声明,简称typedef,为现有类型创建一个新的名字,或称为类型别名, 在结构体定义,还有一些数组等地方都大量的用到,这里指的就是Lnode和*LinkList都是struct Lnode的别名。

上述语句等价于:
struct Lnode { int data; struct Lnode *next;} ;
typedef struct Lnode Lnode;
typedef struct Lnode* LinkList;