.


:




:

































 

 

 

 





 

, , Borland, MSDOS. , , 1 . (. 3).

 

 

. 3.

(EXE) MSDOS 256 , . EXE. Ŗ , . , , , 64. . - . 64 ( 16). ( $) , .. . . , . , ( Heap‑).

, , 64, , , .

, , 400 100 . 40, 64. 24, . ? 80. , .

, , . $M.

, , , . . . , Integer 2 . , , . . , . . , , . , -. , .

 

 

 

:

 

Type

Ptr = ^t,

t , . , , , Var P: Ptr. .

 

.

 

Type

Pint = ^Integer; W = array [1..20] of Real; p = ^W;

Var

N: Pint; U: p;

 

N U 4 . , . , , . , .. , , . U , W .

^ .
, .

, , . N U . . . Pointer, , Var P: Pointer.

: , . . . (. 1).

 

1

 

 

(Word), , , Seg Ofs:

Writeln( , Seg(p), , Ofs(p));

. , , . , ,

 

Var P1, P2: ^Integer;

P3: ^Real;

PP: Pointer;

 

P1:= P2 , P1:= P3 , P1 P3 . . PP:= P3; P1:= PP .
, . Nil. Nil
Pointer, 0000:0000 ( ). Nil, .

= <> ( ). . , , . , p <> Nil.

. , , , ^, . . , . :

 

Var a, b: ^Real;

^ b^ , Real, ,

 

a^:= b^;

b^:= sin(a^); ..

New(p). New . . , , , . . Heaporg, Heapend. Heapptr. Var i^ integer, New(i) i , Heapptr, Heapptr 2, Integer, i, 2 . , , (. 4).

 

. 4.

 

, . Dispose. Dispose(i) 2 . Dispose , , .

:

 

Var p1, ip: ^integer;

Begin

{1}Writeln(ip^, ,p1^);

{ , Heapptr}

new(ip); new(p1);

{2}Writeln(ip^, ,p1^);

{ , Heapptr}

ip^:= 7; p1^:= 20;

{3}Writeln(ip^, ,p1^); {7 20}

ip:= p1;

{4}Writeln(ip^, ,p1^); {20 20}

dispose(ip);

{dispose(p1);}

{ , 1 ip }

{5}Writeln(ip^, ,p1^); {20 20}

ip:= nil;

{6}Writeln(ip^, ,p1^); { 20}

End.

 

, New, . ip p1 . : New. Writeln , Heapptr Heapptr + 2. : 7 20 . . ip ip:= p1. , 20. 7 . , .. 7 . ip p1, . Writeln 20 20, . Dispose(ip) ip p1 , ip^ p1^. Writeln , .

.

 

Type PInteger = ^Integer;

Var

SomeNumber: Integer;

Begin

SomeNumber:= 17;{ SomeNumber 17}

SomeAddress:= @SomeNumber; {SomeAddress SomeNumber}

Writeln(SomeNumber);{ 17}

{Writeln(SomeAddress); ; }

Writeln(SomeAddress^);{ 17}

AnotherAddress:= SomeAddress;{ SomeNumber}

AnotehrAddress^:= 99; { SomeNumber}

Writeln(SomeNumber);{ 99}

End.

 

. , , , , . , - , , . Nil, , . Nil , . , Nil ( ).

 

 





:


: 2016-11-18; !; : 1861 |


:

:

,
==> ...

1682 - | 1626 -


© 2015-2024 lektsii.org - -

: 0.02 .