リンクされたリストの長さを見つける関数を書いています。私の質問は、ポインターの宣言に固有のものです。
int lengthOfLinkedList(Node *head)
{
Node* current = head;
}
vs.
int lengthOfLinkedList(Node *head)
{
Node* current = NULL;
current = head;
}
これが私の理解です。最初の例では、Node オブジェクトを指すポインターが宣言され、ヘッド ポインターのアドレスを逆参照します。
| | メモリ アドレス | <--- 現在
これは私がやりたいことではありません。代わりに、ポインターが指しているノードにアクセスできるように、ポインターを参照したいと思います (これは、2 番目のコード スニペットで行ったことです)。
|データ| *次| <--- 現在
したがって、ポインタは初期化時に異なる動作をすると考えています.('*')演算子を使用して初期化するときに、メモリアドレスへのポインタを直接宣言できますが、初期化後にこれを行うことはできなくなりました。それはかなり奇妙です..
私は正しいですか、それとも何か他のことが起こっていますか?