![](/img/trans.png)
[英]How could i make a data structure like linked list, but each node holds N elements?
[英]I am unable to understand what is the statement struct node *a [26] used for.. after we make the structure of a node for linked list
struct node{
int data;
struct node*next;
};
struct node * a[26];
我們是在制作節點指針數組還是為節點指針分配大小? 請幫助我解決這個問題。
struct node * a[26];
a
聲明為一個包含 26 個指向struct node
的指針的數組。
本聲明
struct node * a[26];
聲明一個名為a
的數組,其中包含26
個指針類型struct node *
的元素。
這兩個聲明
struct node{
int data;
struct node*next;
};
struct node * a[26];
也可以通過以下方式重寫為一個聲明
struct node{
int data;
struct node*next;
} * a[26];
struct node * a[26];
讓我們一步一步地檢查它:
閱讀C
中的聲明的一種現實方式是 boustrophedonically,即從右到左和從左到右交替,從左側讀取時從第一個標識符開始,直到我們看到分號、括號或到達左側的末尾.
a[26];
聲明一個包含 26 個元素的數組。 我們看到一個分號,所以我們 go 回到左邊:
* a[26];
這變成了一個包含 26 個指針的數組。 我們繼續向左走,因為我們還沒有走到盡頭。
struct node * a[26];
這變成了一個包含 26 個指針的數組,指向struct node
類型的 object。
簡而言之, a
是一個包含26
個指針的數組,指向一個 object 類型的struct node.
注意,實際規則由正式語法和鏡像運算符優先級決定,如下面的評論所述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.