冬天的雪的優(yōu)秀學(xué)生作文
我似乎不能成功定義一個鏈表。我試過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)生類似的問題, 可以用同樣的方法解決。
【冬天的雪的優(yōu)秀學(xué)生作文】相關(guān)文章:
冬天的雪的作文01-27
[精選]冬天的雪作文01-01
(經(jīng)典)冬天的雪作文02-23
[經(jīng)典]冬天的雪作文01-09
冬天的雪作文【經(jīng)典】12-25
冬天的雪作文07-29
作文冬天的雪11-01
冬天·雪作文11-25
冬天雪的作文12-02
冬天的雪作文(精選)09-03
- 相關(guān)推薦