全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:628
推到 Plurk!
推到 Facebook!

請問這一小段程式碼...

尚未結案
harryGod
一般會員


發表:16
回覆:19
積分:7
註冊:2004-12-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-09 20:33:09 IP:218.168.xxx.xxx 未訂閱
struct node { int data; node *next; }; 請問這結構體中的node *next; 是指結構體中的結構體嗎? 為什麼可以這樣設? 不是在結構體裡只能用一般的資料型態嗎? 這樣用的意義是什麼? 因為書上沒解釋清楚 麻煩好心人解惑 謝謝您~
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-09 21:38:06 IP:211.76.xxx.xxx 未訂閱
不是在結構體裡只能用一般的資料型態嗎? 不是的,在 struct 內幾乎可以是任何東西,像您舉的例, struct node{ }; 定義了一個 node 的結構型態,而其內容是 int data; // 資料 node *next; // 指向下一個 node 所以可以作出單向的 Link List ■→■→■→■→■ 如果內容是 int data; // 資料 node *pre; // 指向上一個 node node *next; // 指向下一個 node 所以可以作出雙向的 Link List ■←→■←→■←→■←→■ 吃軟也吃硬 dllee.ktop.com.tw StatPlus 系統資源監測器 @ KTOP OpenPLC - IEC 61131-3 geOShell XP Like 中文版
------
http://www.ViewMove.com
harryGod
一般會員


發表:16
回覆:19
積分:7
註冊:2004-12-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-09 22:06:47 IP:218.168.xxx.xxx 未訂閱
請問能解釋為 譬如我在主程式宣告一指標物件譬如node *a 然後是為了指標移動時對應嗎? EX:link->next=a next對應a資料型態要一樣??
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-10 12:33:52 IP:220.139.xxx.xxx 未訂閱
當然 node *next; 它所希望您存入 next 的就是 node 的指標。 就像    int data; 是希望存入 data 的就是整數數值    int *prt; 是希望存入 prt 的是整數指標    當然,在C/C++ 內指標可以亂指,而亂指的行為是由程式設計師自行負責,compiler 只幫您作最簡單的型別檢查。不過,別忘了,我們可以把指標轉型(CAST),就可以自由亂指了。    吃軟也吃硬 dllee.ktop.com.tw StatPlus 系統資源監測器 @ KTOP OpenPLC - IEC 61131-3 geOShell XP Like 中文版
------
http://www.ViewMove.com
系統時間:2024-05-19 3:58:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!