[英]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 是什么意思?
謝謝!
start
是struct 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.