1 struct node
2 {
3 int data;
4 struct node *next;
5 }*head;
6
7 void append(int num)
8 {
9 struct node *temp,*right;
10 temp= (struct node *)malloc(sizeof(struct node));
11 temp->data=num;
12 right=(struct node *)head;
13 while(right->next != NULL)
14 right=right->next;
15 right->next =temp;
16 right=temp;
17 right->next=NULL;
18 }
このコードの特定の部分を理解する助けが必要です。リンクされたリストの理解の構文
1)コードは何をすべきですか?
2)5行目は何をしていますか?
}*head;
私は私の構造体を作るときイムは、これを見慣れて:
struct node
{
int data;
struct node *next;
};
3)行うことになってライン12は何ですか?この構文がわからない
right=(struct node *)head;
私の推測では、頭が何を指しているのか、正しいことを指していると思います。ですから、どうしてですか?right = head;
ありがとう!
Fyi、*このコードのキャストは*どちらも*必要ありません。私は絶えず混乱している。人々がコードに不必要な塊を入れる傾向があるからだ。うまく動作するコードを書くのは難しいです。不必要なくそでそれを散らしても、それは良くなりません。 – WhozCraig
アーメン、それに:D – Hyune
そして、私はこれを行うには、それは[これ** **この**](http://pastebin.com/FL6wrF9Z)のようになります。いろいろな人のための違ったストロークだと思います。 – WhozCraig