[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
`nil' is a predefined constant
`nil' is a predefined pointer constant that indicates an unassigned pointer. "nil" stands for "not in list". Every pointer type can be associated with this constant.
`nil' is defined in ISO-7185 Pascal and supported by all known Pascal variants.
program NilDemo; const NodeNum = 10; type PNode = ^TNode; TNode = record Key: Integer; Next: PNode end; var Root, Node: PNode; Foo: Integer; begin New (Root); Root^.Key := 1; { Set root key } Node := Root; for Foo := 2 to NodeNum do { Create linked list with NODE_NUM nodes } begin New (Node^.Next); Node := Node^.Next; Node^.Key := Foo { Set key } end; Node^.Next := nil; { Mark end of linked list } { Shorten list by removing its first element until list is empty } while Root <> nil do begin Node := Root; WriteLn ('Current key:', Root^.Key); Root := Root^.Next; Dispose (Node); Node := nil { Indicate old node is not assigned } end end. |
section 9.19 Assigned, section 9.196 Pointer