最近在學習鏈表時,遇到結構體重複調用的情況。
鏈表首先聲明一個節點結構體變量,如下:
/*鏈表節點結構體*/
typedef struct ListNode
{
/*節點數據*/
int Element;
/*節點指針,用來指向下一個節點*/
struct ListNode* next;//這裏不能用LinkNode * next,會報錯。必須用struct ListNode* next
//即必須用結構體名進行重複定義
}LinkNode;
鏈表中節點結構體的聲明,next必須指向相同的結構體,即指向LinkNode結構體類型,但是隻能使用結構體名進行定義next。因爲在定義next時,還沒有運行到LinkNode部分,編譯器還不認識LinkNode類型。所以會報錯。