线性表的注意点(一)

经常我们会遇到以下代码

typedef struct node { 

     int ;

      PNode next;

}  PNode,*Linklist;

这样可能看不懂让我们来慢慢简化。

typedef  struct node {
    int  data ;

    struct node * next;

} PNode,*LinkList;

再来

struct node { 

    int data; 

    struct node *next;

};
typedef struct node PNode;

typedef struct node *Linklist;

到这里想必大家都一目了然了,下面在说说个误区

struct node { 

    int data; 

    struct node *next;

} PNode;

对比

typedef  struct node {

    int  data ;

    struct node * next;

} PNode;

这两处的PNode分别是什么呢?
下面我这样写你估计就明白了

struct node { int data; struct node *next ;}   PNode;   //  等同于 struct node PNode;

typedef  struct node {int  data ;struct node * next;}   PNode;     //   等同于  typedef struct node PNode;

这里想必大家都明白了

struct node { 

    int data; 

    struct node *next;

} PNode;

// 这里面node是一个标记,而PNode是一个结构体变量


typedef  struct node {

    int  data ;

    struct node * next;

} PNode;

// 这里面node是一个标记,而PNode等同于 struct node

// 我们定义结构体变量的时候是用 strcut node 变量名;所以可以用 PNode 变量名;

// 当然结构体可以省略标记如:

struct   { 

    int data; 

    struct node *next;

} PNode;

// 但是我们要给他个结构体变量名,不然就无法申明结构体变量了,这里以后只能用PNode这个结构体变量了,因为我们无法再声明别的结构体变量(缺乏标记)

// 但是我们依然可以用typedef来定义这样我们就解决了不能再次声明结构体变量的烦恼了

typedef  struct  {

    int  data ;

    struct node * next;

} PNode;

// 这里可以用PNode尽情的声明了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,025评论 25 709
  • 无眉从小就和师父在终南山修行,师父武功高强,擅长用剑,一手君子剑舞的是天下无双,但是师父却从来不教她剑法,只是教她...
    方宛阅读 3,434评论 0 0
  • 公办教育是全国教育的绝对主流,覆盖了全国绝大部分的适龄学生,拥有绝大多数的教育工作者,占据几乎所有的国家教育资源,...
    雒渭阅读 3,971评论 2 3
  • 建立搜索帮助需要调用一个函数F4IF_INT_TABLE_VALUE_REQUEST具体用法:
    Mmm_余安阅读 2,806评论 0 0

友情链接更多精彩内容