推 kevinptt:第一行要解讀成 typedef struct listnode * listpointer; 11/12 00:02
→ kevinptt:listpointer 是它的名,型態是一個listnode的指標 11/12 00:03
→ tjjh89017:因為listpointer是指標? 11/12 00:03
→ kevinptt:所以第四行等價於 listnode * link; 11/12 00:04
→ kevinptt:對,它就定義成一個指標的型態 11/12 00:04
→ mozzan:那我之後若宣告一變數為 listpointer p1; 那p1是一個指標 11/12 00:10
推 james732:就跟 struct listnode * pl; 是一樣的意思 11/12 00:10
→ mozzan:型態變數,而且他包含著data變數和一個指向listpointer 11/12 00:11
→ mozzan:結構的指標?? 11/12 00:13
推 kevinptt:喔不,p1就是一個指向一個listnode的指標,就只是指標 11/12 00:16
→ kevinptt:就像 int * a; a並沒有存int的功能,而是指向另一個int 11/12 00:16
→ mozzan:我指的不是在struct 內宣告listpointer p1; 而是在之後宣告 11/12 00:47
→ mozzan:listpointer p1; 如果這等於struct listnode *p1的話,是不 11/12 00:48
→ james732:如果你只是寫 listpointer p1; 它就只是一個指標 11/12 00:48
→ james732:你說它還包含著其他東西,這種說法就會不正確 11/12 00:49
→ mozzan:是呢? 11/12 00:49
推 LPH66:不管在哪裡寫 listpointer p1; 都等同 struct listnode *p1; 11/12 02:20
→ mozzan:那再請問,程式的第一行可否解讀成listpointer 是一個指向 11/13 18:00
→ mozzan:listnode 這個結構的指標?? 謝謝 11/13 18:01
→ tropical72:不行,去弄清楚 typedef 實際意義,它只是重定一個資料型 11/13 18:05
→ tropical72:態,而不會因此產生一個資料型態(或物件). 11/13 18:05
→ mozzan:所以"listpointer"指的是'指向listnode結構的指標型態'? 11/13 19:38
→ james732:沒錯,它就只是一種型態 11/13 19:39
→ mozzan:謝謝各位解答 11/13 19:47