[問題] C遇到這種狀況要怎麼迴避?

看板C_and_CPP (C/C++)作者 (是妳)時間16年前 (2009/05/04 18:51), 編輯推噓4(403)
留言7則, 5人參與, 最新討論串1/1
先附上Code typedef struct { int type; // 0 for int, 1 for char } TypeNode; typedef TypeNode *TypeP; typedef struct { TypeP Type; char *name; }VardecNode; 今天我有兩個Structure, 第二個structure 需要用到第一個structure 的pointer, 所以依序宣告後便沒有問題 可是如果 我把宣告反過來, 如下: typedef struct { TypeP Type; char *name; }VardecNode; typedef struct { int type; // 0 for int, 1 for char } TypeNode; typedef TypeNode *TypeP; 就會因為TypeP初次使用時尚未宣告而出現syntax error 現在的實際狀況是我有一堆structure需要彼此的pointer, 所以不可能先宣告再使用.... 這種情況要如何解決? 狀況如下 typedef struct { B_P toB; }A_Node; typedef A_Node* A_P; typedef struct { C_P toC; }B_Node; typedef B_Node* B_P; typedef struct { A_P toA; }C_Node; typedef C_Node* C_P; -- 實際狀況沒有那麼簡單, 而是一堆structure 糾纏在一起.... 不過我想問問有沒有簡單的解決方法 -- 被愛....都是毒藥 愛著一個人....只會感受到付出沒有回報的悲傷 被一個人愛上....卻會因為不能回應而覺得有罪惡感 也許.....和被愛..都只有一種解藥....那就是.... 深深愛上一個深愛你的人 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.233.2

05/04 19:06, , 1F
在最前面先宣告!
05/04 19:06, 1F

05/04 19:17, , 2F
typedef struct C_Node; 先寫類似這樣的東西吧??
05/04 19:17, 2F

05/04 19:27, , 3F
宣告先全寫出來, 之後再定義就可以比較自由
05/04 19:27, 3F

05/04 19:29, , 4F
05/04 19:29, 4F

05/04 21:16, , 5F
這讓我想起 HTREEITEM =.=
05/04 21:16, 5F

05/04 22:43, , 6F
多謝三樓!!! It works fine!
05/04 22:43, 6F

05/04 22:44, , 7F
5樓專業!!! 我在寫Abract Syntax tree, 意思差不多
05/04 22:44, 7F
文章代碼(AID): #19_iZFGl (C_and_CPP)
文章代碼(AID): #19_iZFGl (C_and_CPP)