1
我想C語言創建一個雙向鏈表typedef和指針和我有一個關於代碼如下一個問題:結構和用C
typedef struct Node{
double coeff;
int exp;
struct Node* next;
struct Node* prev;
}Node;
我的問題:
在線路(5 ) 以上;說我正在創建一個名爲next的指針變量是否正確?而這個變量的類型是Node?這個變量會指向存儲在內存中的下一個節點的地址嗎?
Node *與Node *指針相同嗎?
感謝您的幫助;在我進一步發展之前,我想讓我的基礎紮實。
是的,但你必須確保它將指向存儲在內存中的下一個節點的地址。而'*'之前或之後的空格對它的意義沒有影響。 – wimh 2014-11-14 23:23:55
'next'的類型是'struct Node *'(一個指向'struct Node'的指針)。除非您設置它,否則它不指向有效內存。 – clcto 2014-11-14 23:24:08
在C中,你已經定義了一個'struct Node'類型,並且在結構體的定義過程中使用它。別名('typedef')名稱'Node'直到最後一個分號才定義;它在此之前不能使用。如果你在問'struct Node * next;'和'struct Node * next'之間的區別,唯一的區別就是間距。但是,請注意,如果你編寫了'struct Node * next,* prev;','next'和'prev'都是指針;相反,如果你寫了'struct Node * next,prev;',那麼'next'是一個指針,但'prev'是一個普通的'struct Node',而不是一個指針。 – 2014-11-14 23:28:25