^/fi

From Free Pascal wiki

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ä.


 1 program pointerDemo(input, output, stderr);
 2 
 3 type
 4 	listItem = record
 5 		payload: integer;
 6 		// next _points_ _to_ a list item
 7 		next: ^listItem;
 8 	end;
 9 
10 var
11 	start: ^listItem;
12 
13 begin
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);
25 end.

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


navigation bar: topic: Pascal symbols
single characters

+ (plus)  •  - (minus)  •  * (asterisk)  •  / (slash)
= (equal)  •  > (greater than)  •  < (less than)
. (period)  •  : (colon)  •  ; (semi colon)
^ (hat)  •  @ (at)
$ (dollar sign)  •  & (ampersand)  •  # (hash)
' (single quote)

character pairs

<> (not equal)  •  := (becomes)  •  >< (symmetric difference)  •  // (double slash)