为什么*LinkList是指针?

img


哪有在前面的指针?比如说int p;这个p就是一个指针吧.还有网上说这个typedf相当于是将struct LNode起名叫LinkList;但是在LinkList前面的,不应该是将struct LNode起名叫*LinkList吗

LinkList是一个指针,是因为它是由typedef定义的。在定义中,LNode *LinkList等价于typedef LNode *LinkList。这意味着LinkList是LNode类型的指针。

  • 比如,你可以这样声明一个LinkList指针:
LinkList p;
  • 这个p就是一个指向LNode类型的指针,可以用来存储LNode类型的地址。
  • 此外,在定义typedef时,struct LNode和LNode *LinkList是同时出现的,也就是说,LinkList是struct LNode的别名,也是LNode *的别名。这就是为什么LinkList是指针的原因。

typedef struct LNode* LinkList; ===> 将 (struct LNode *)定义别名为:LinkList.
所以 LinkList p; 等价于:struct LNode* p;