02/11/25 00:17
ポインタ型の変数は>>393の
【[データ本体][次の要素へのポインタ]】
みたいな構造体を指し示すタイプの変数だ。
もっと詳しくいえば、その構造体の存在するメモリ上のアドレスを保持している。
このタイプの変数は、その変数の後ろに「↑」をつけることによって
そのレコードの内容にアクセスできる。
※コーディング時には「↑」は「^」を使う。
ポインタ p が例えば2番目のレコードのアドレスを保持しているなら
p^.item と書くことによって
2番目のレコードの item フィールドを参照しているのと同じ結果になる。
(整数が入っているなら writeln(p^.item); などと書ける。)
p にはポインタ型の価を代入できる。
p := (3番目の要素のアドレス)
みたいに代入すれば、今度は
p^.item で3番目の要素の item フィールドを参照できる。
【[データ本体][次の要素へのポインタ]】
この構造体の[次の要素へのポインタ]というフィールドも、またポインタ型だ。
この値で p の値を更新すれば
p := p^.next;
p を使って次のレコードを参照できる。
こんなふうに使っていくのが線型リスト。(本読んだ方がいいと思うけど)