線性表的注意點(一)

經(jīng)常我們會遇到以下代碼

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;

到這里想必大家都一目了然了,下面在說說個誤區(qū)

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盡情的聲明了。
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,027評論 25 709
  • 無眉從小就和師父在終南山修行,師父武功高強,擅長用劍,一手君子劍舞的是天下無雙,但是師父卻從來不教她劍法,只是教她...
    方宛閱讀 565評論 0 0
  • 公辦教育是全國教育的絕對主流,覆蓋了全國絕大部分的適齡學生,擁有絕大多數(shù)的教育工作者,占據(jù)幾乎所有的國家教育資源,...
    雒渭閱讀 754評論 2 3
  • 建立搜索幫助需要調(diào)用一個函數(shù)F4IF_INT_TABLE_VALUE_REQUEST具體用法:
    Mmm_余安閱讀 386評論 0 0

友情鏈接更多精彩內(nèi)容