Difference between revisions of "^/fi"
m (unify page target) |
|||
Line 43: | Line 43: | ||
== Katso myös == | == Katso myös == | ||
− | * [[ | + | * [[$pointerMath/fi|<syntaxhighlight lang="pascal" inline>{$pointerMath off}</syntaxhighlight>]] ei salli osoittimien käyttöä aritmeettisissa lausekkeissa |
− | * [[ | + | * [[$typedAddress/fi|<syntaxhighlight lang="pascal" inline>{$typedAddress on}</syntaxhighlight>]] yhdessä [[@|<syntaxhighlight lang="pascal" inline>@</syntaxhighlight>-osoiteoperaattorin kanssa]] |
− | * [[ | + | * [[$modeSwitch/fi|<syntaxhighlight lang="pascal" inline>{$modeSwitch autoDeref-}</syntaxhighlight>]] |
{{Symbols}} | {{Symbols}} |
Latest revision as of 02:19, 18 February 2023
│
English (en) │
suomi (fi) │
русский (ru) │
ASCII:ssa merkkikoodi 94
desimaalisena (tai heksadesimaalisena 5E
) on määritelty ^
(circumflex-aksentti) merkiksi.
Jokaista tietotyyppiä varten voidaan osoittaa dataa osoittimen tyypillä (pointer)
operaattorin ^
avulla joka on tietotyypin edessä.
1program pointerDemo(input, output, stderr);
2
3type
4 listItem = record
5 payload: integer;
6 // next _points_ _to_ a list item
7 next: ^listItem;
8 end;
9
10var
11 start: ^listItem;
12
13begin
14 new(start);
15 if not assigned(start) then
16 begin
17 writeLn(stderr, 'obtaining memory for start failed');
18 halt(1);
19 end;
Osoitinta (pointer
) voidaan seurata, jos se on liitetty lisäämällä tunnisteeseen ^
.
Sen sijaan, että muistin osoite olisi käsillä, niin nähdään sen osoittaman muistin sisältö. Jos kyseessä on tyypitetty osoitin (typed pointer), kyseisen tyypin toiminnot ja syntaksit ovat voimassa, esim. saa arvokseen seuraavassa esimerkissä.
21 // _de-reference_ the pointer, i.e. follow it
22 start^.payload := 7;
23
24 dispose(start);
25end.
Pyrkimys seurata nil
osoitinta aiheuttaa kuitenkin ajonaikaisen virheen (RTE 216 “general protection fault”).
Tilanne on, että ehto, not assigned(start)
rivillä 15, on tarkoitus saada kiinni.
Katso myös
{$pointerMath off}
ei salli osoittimien käyttöä aritmeettisissa lausekkeissa{$typedAddress on}
yhdessä@
-osoiteoperaattorin kanssa{$modeSwitch autoDeref-}
single characters |
|
character pairs |
|