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

又有一個指標問題

尚未結案
sonoma001
一般會員


發表:8
回覆:14
積分:4
註冊:2004-02-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-08 12:31:51 IP:61.231.xxx.xxx 未訂閱
又有一個指標問題@@" 真是麻煩大家了 typedef struct node { int data; node *next; }; 那麼 node a 請問 (1) *a.next //我想是指next(pointer) (2) (*a)->next和 *(a->next) //我想這個是指 *next (node) (3) a->next //那這個是指 next (pointer) (1)和(2)我不太曉得是否可以這樣寫 不曉得我的觀念是不是正確呢? 感恩感恩^^" 發表人 - sonoma001 於 2005/03/08 12:37:58 發表人 - sonoma001 於 2005/03/08 12:48:19
yyu10
中階會員


發表:9
回覆:99
積分:96
註冊:2005-02-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-08 14:45:32 IP:220.244.xxx.xxx 未訂閱
引言: (1) *a.next //我想是指next(pointer)
可以这样用, 但你的理解是错的. *a.next 相当于 *(a.next), 指的是下一个node.
引言: (2) (*a)->next和 *(a->next) //我想這個是指 *next (node)
(*a)用法不正确, *只适用于Pointer *(a->next) 相当于 *a.next, 见上.
引言: (3) a->next //那這個是指 next (pointer)
用法不正确, ->只可适用于Pointer, 应该是用a.next _________________________ Programming is a passion
sonoma001
一般會員


發表:8
回覆:14
積分:4
註冊:2004-02-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-08 14:51:26 IP:61.231.xxx.xxx 未訂閱
挖阿  糟糕 < > 我變數宣告錯了 忘了打"*" >>> >< >< >< >< > 發表人 -
bio
一般會員


發表:42
回覆:36
積分:20
註冊:2003-03-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-08 16:00:01 IP:210.68.xxx.xxx 未訂閱
引言 (1) *a.next //我想是指next(pointer) 基本上這裡就不能這樣寫吧,因為你宣告node *a 依照規則a是一個指標型態的structure就不會有所謂的a.next(可寫成a->next) or *a.next(這更不對 變成指標的的指標),所以(1)是語法錯誤吧 2)(*a)->next和 *(a->next) //我想這個是指 *next (node) 若我想的沒錯的話,分析起來是這樣 第一個用法錯誤,第二個是將指標指到next這欄裡取出該位址的值 引言 (3)a->next //那這個是指 next (pointer) 這是指到next這欄 這式正確用法 若有錯誤之處 煩請前輩指出 發表人 - bio 於 2005/03/08 16:01:20 發表人 - bio 於 2005/03/08 16:11:03
系統時間:2024-05-19 18:32:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!