久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

C語言中一個結(jié)構(gòu)不能包含指向自己的指針

時間:2020-11-23 18:04:43 筆試題目 我要投稿

C語言中一個結(jié)構(gòu)不能包含指向自己的指針

  我似乎不能成功定義一個鏈表。我試過typedef struct { char*item; NODEPTR next; } *NODEPTR; 但是編譯器報了錯誤信息。難道在C語言中一個結(jié)構(gòu)不能包含指向自己的指針嗎?

  C 語言中的`結(jié)構(gòu)當(dāng)然可以包含指向自己的指針; [K&R2, 第6.5 節(jié)] 的討論和例子表明了這點(diǎn)。NODEPTR 例子的問題是在聲明next 域的時候typedef 還沒有定義。

  為了解決這個問題, 首先賦予這個結(jié)構(gòu)一個標(biāo)簽(“struct node”)。然后,聲明“next” 域?yàn)?ldquo;struct node *”, 或者分開typedef 定義和結(jié)構(gòu)定義, 或者兩者都采納。以下是一個修改后的版本:

  struct node {

  char *item;

  struct node *next;

  };

  typedef struct node *NODEPTR;

  至少還有三種同樣正確的方法解決這個問題。在用typedef 定義互相引用的兩個結(jié)構(gòu)時也會產(chǎn)生類似的問題, 可以用同樣的方法解決。

【C語言中一個結(jié)構(gòu)不能包含指向自己的指針】相關(guān)文章:

c語言指針面試常見問題09-28

C語言程序的結(jié)構(gòu)08-18

在C語言中什么是指針和數(shù)組等價12-27

淺談C語言中循環(huán)結(jié)構(gòu)的教學(xué)方法11-12

c語言程序設(shè)計(jì)選擇結(jié)構(gòu)知識點(diǎn)08-19

嵌入式C語言中結(jié)構(gòu)體詳解201609-12

C++筆試題:關(guān)于鏈表和指針12-17

C++面試常用問題:"引用"與指針的區(qū)別12-11

嵌入式開發(fā)中C語言中結(jié)構(gòu)體解讀201611-02