又有一個指標問題 |
尚未結案
|
sonoma001
一般會員 發表:8 回覆:14 積分:4 註冊:2004-02-25 發送簡訊給我 |
又有一個指標問題@@"
真是麻煩大家了 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 發送簡訊給我 |
引言: (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 發送簡訊給我 |
|
bio
一般會員 發表:42 回覆:36 積分:20 註冊:2003-03-05 發送簡訊給我 |
引言 (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
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |