コードはリンクリストのほんの一部です。
アイデアは、リストが「ノード」と呼ばれる構造体のn回の出現で構成されるということです。それらの最初のものへのポインタが必要です。このポインタは、この最初の構造体のメモリ位置を示します(通常、mallocを使用して手動でこのためのスペースを要求します)。このメモリブロックの構造は、構造体「ノード」によって定義されます。これは、最初にintにいくつかのバイトがあり(sizeof intはどのようにミュートするかを示します)、次にアドレスにいくつかのバイトがあることを示します(これは「次の」ポインターです)。リンクリストの最後のアイテムでは、通常、次の値としてnullを使用します。これにより、アクティブなアイテムが最後かどうかを確認できます。リストにアイテムを追加するには、そのアイテムのメモリをmallocし、最後のアイテムの次のポインタをmallocが指定したメモリ位置に変更する必要があります。 (そして、作成したアイテムの次のポインタをnullに設定することを忘れないでください。)
このように、リンクリストが機能します。これが少し役立つことを願っています!
コメント
これは型定義の一部です。 それ自体は何も指していません。同じ理由で、家の設計図に描かれたリビングルームの中に本物のソファやテレビを置くことはできません。単に「これがここに行くことになっている」と指定するだけです。
リンクリスト内の次のノードを指す方法は、誰かが実際にノードを作成するときに、フィールドに値を割り当てることです。その定義によって記述されます。これは、別のNode
のアドレスを含むポインターです。