私はいくつかのノードを持つリストを持っています。私は最後のノードをcurrent->next
の値をNULL
と宣言してマークしようとしています。NULLへの* nextリストポインタを設定する
私のcurrent
が最終ノードを指しているとします。次の2つのコードスニペットは異なる方法で動作しますか?はいの場合、どのように動作しますか?
current->next = NULL;
と
current = current->next;
current = NULL;
私は今、しばらくの間、これらの実験をされていますが、私は本当にそこに何が起こっているのか理解できません。私は彼らが同じことをしていると言います.2番目のものは最初に私のcurrent
を指し、next
を指し、それをNULL
に設定します。
EDIT:ああ、私は答えが何を言っているのか理解しています。だから私が最初の方法を使用しない場合は、current = current->next
のために行くことを選択する方法は、私がするべきNULL値を置くための方法はありますか?新しいcurrent
を使用して、私の古いnext
が指していた場所を指摘するにはどうすればよいですか?
ものは全く異なるものです。おそらく良い本のための時間? –
これは明らかに有効なステートメントです。最初は 'current'で指定されたノードの' next'フィールドをnullに設定します。 2番目の文のペアは 'current'を' current'で指定されたノードに格納された 'next'の値に設定し、' current'に置いた値をnullで上書きします。 (私はポインタが何であるかの概念をかなり得ていません) –
ポインタに関しては、私は絶望的です。私はかなり簡単なチュートリアルを読んできました。intやcharsへの簡単なポインタを扱っていれば自分の道を見つけることができると思いますが、ちょっと複雑になったらすぐに失われてしまいます... –