ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Бсылочный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. 
ДинамичСская ΠΏΠ°ΠΌΡΡ‚ΡŒ. 
ДинамичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. 
Π Π°Π±ΠΎΡ‚Π° с динамичСской ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

БтатичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (статичСски Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠΉ) называСтся описанная явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ пСрСмСнная, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΉ осущСствляСтся ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠœΠ΅ΡΡ‚ΠΎ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ для размСщСния статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… опрСдСляСтся ΠΏΡ€ΠΈ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, написанных Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Pascal, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы динамичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ОсновноС свойство динамичСских… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Бсылочный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. ДинамичСская ΠΏΠ°ΠΌΡΡ‚ΡŒ. ДинамичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π Π°Π±ΠΎΡ‚Π° с динамичСской ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

БтатичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (статичСски Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠΉ) называСтся описанная явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ пСрСмСнная, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΉ осущСствляСтся ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠœΠ΅ΡΡ‚ΠΎ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ для размСщСния статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… опрСдСляСтся ΠΏΡ€ΠΈ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, написанных Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Pascal, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы динамичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ОсновноС свойство динамичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ, ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ для Π½ΠΈΡ… выдСляСтся Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ динамичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ области памяти (heap-области). ДинамичСская пСрСмСнная Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ся явно Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈ ΠΊ Π½Π΅ΠΉ нСльзя ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Доступ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΡΡΡ‹Π»ΠΎΠΊ.

Cсылочный Ρ‚ΠΈΠΏ (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ) опрСдСляСт мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ссылочного Ρ‚ΠΈΠΏΠ° содСрТит адрСс динамичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ. Если Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ являСтся Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, Ρ‚ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ описан Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ самой части описания Ρ‚ΠΈΠΏΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΈ Ρ‚ΠΈΠΏ-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ слово nil ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ константу со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ указатСля, которая Π½ΠΈ Π½Π° Ρ‡Ρ‚ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ описания динамичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

var p1, p2: ^real;

p3, p4: ^integer;

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

1. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° New{var p: Pointer).

ВыдСляСт мСсто Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ области памяти для размСщСния динамичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ p", ΠΈ Π΅Π΅ Π°Π΄Ρ€Π΅Ρ присваиваСт ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ p.

2. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Dispose (var p: Pointer).

ΠžΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ‚ участок памяти, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ для размСщСния динамичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ New, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля p ΡΡ‚ановится Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ.

3. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° GetMem (var p: Pointer; size: Word).

ВыдСляСт участок памяти Π² heap-области, присваиваСт адрСс Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ p, Ρ€Π°Π·ΠΌΠ΅Ρ€ участка Π² Π±Π°ΠΉΡ‚Π°Ρ… задаСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ size.

4. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° FreeMem (varp: Pointer; size: Word).

ΠžΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ‚ участок памяти, адрСс Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ p, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ — ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ size. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля p ΡΡ‚ановится Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ.

  • 5. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Mark{var p: Pointer) записываСт Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ p Π°Π΄Ρ€Π΅Ρ Π½Π°Ρ‡Π°Π»Π° участка свободной динамичСской памяти Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅Π΅ Π²Ρ‹Π·ΠΎΠ²Π°.
  • 6. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Release (var p: Pointer) освобоТдаСт участок динамичСской памяти, начиная с Π°Π΄Ρ€Π΅ΡΠ°, записанного Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ p ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ Mark, Ρ‚. Π΅. ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Ρ‚Ρƒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, которая Π±Ρ‹Π»Π° занята послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Mark.
  • 7. Ѐункция MaxAvail: Longint Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ Π² Π±Π°ΠΉΡ‚Π°Ρ… самого Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ свободного участка динамичСской памяти.
  • 8. Ѐункция MemAvail: Longint Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ объСм свободной динамичСской памяти Π² Π±Π°ΠΉΡ‚Π°Ρ….
  • 9. Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ функция SizeOf (X):Word Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ объСм Π² Π±Π°ΠΉΡ‚Π°Ρ…, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ X, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ X ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ любого Ρ‚ΠΈΠΏΠ°, Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΈΠΏΠ°.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ