簡體   English   中英

單鏈表 C++

[英]Singly Linked List c++

我試圖通過閱讀一些代碼並理解它來理解單向鏈表。 這段代碼,在這個網站http://www.sanfoundry.com/cpp-program-implement-single-linked-list/找到,有

struct node
{
    int info;
    struct node *next;

} *start;

我理解 int info 和 struct node *next 的作用,但是關閉括號后額外的 *start 是什么意思?

謝謝!

startstruct node*類型的變量 - 我猜它是列表的頭部。

如果您發現拆分類型和變量更容易:

struct node
{
    int info;
    struct node *next;

};

struct node* start;

由於這是 C++,因此您也可以簡化為node* start;

    struct node
{
    int info;
    struct node *next;

};

將上述內容視為您將來將要使用的內容的模板。

因此,當您想使用上述結構來構建數據時,您需要定義一個變量或在內存中實例化該結構,如下所示

就像是

struct node mynode;
or 
struct node* mynodeptr = new node;

要回答您的后續問題,可以在需要實例化node變量的任何地方完成上述操作。 所以是的,它不必總是按照你原來的問題的方式來完成。

至於typedef ing struct有一個關於為什么要使用它的很好的討論。 看看這里

它是結構節點類型的變量。 用作鏈表的頭部。多次引用在鏈表中遍歷。 希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM