位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

在C語言用自引用結構實現(xiàn)鏈表結構需要解決三個問題

提問人:楊紫紅發(fā)布時間:2020-11-17
(1)必須指出鏈表第一個結點的位置,否則無法存取該鏈表中的結點
    實現(xiàn)方法:定義一個指向該結構對象的指針,或定義一個該結構類型的變量,使其指向鏈表的第一個結點即可。如:
            struct node *head;
 
(2)在建立一鏈表時,如何獲得下一個新的結點的存放空間。     
    實現(xiàn)方法:用C編譯系統(tǒng)提供的庫函數malloc(size)動態(tài)分配存儲空間得到。
除此之外,還可用calloc函數。如:
           struct node *p1, *p2;
                …
            p2=(struct node *) malloc(size(struct node));
   或: p2=(struct node *) calloc(1, size(struct node));   
            if (p2= =NULL)  exit(0);
            p1->next=p2;  /*此處設p1指向新結點的上一結點*/
另外:free函數可用于釋放內存區(qū)。
  如:free(p);  表示釋放由p指向的內存區(qū),使這部分內存區(qū)能被其他變量使用。
 
(3)要明確指出鏈表的鏈尾。
    實現(xiàn)方法:通常把最后結點中的成員項next置為空指針NULL即可。

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部