Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ для ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 49

Автор C. Π‘ΠΎΡ‡ΠΊΠΎΠ²

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° с консольного Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ ΠΏΠΎΡ€Ρ‚Π°

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° для консольного Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ спСцифичСскиС особСнности ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° IBM/PC (Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°) ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ пСрСносимыми Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ².


функция ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС cgets Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ строки с консоли cprintf запись Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ cputs Π²Ρ‹Π²ΠΎΠ΄ строки Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» getch Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ символа с консоли getche Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ символа с консоли с эхо-ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒΡŽ kbhit ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наТатия клавиши Π½Π° консоли putch Π²Ρ‹Π²ΠΎΠ΄ символа Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ungetch Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ послСднСго ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ³ΠΎ символа с консольного символа ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ стал ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ символом для чтСния

БистСма программирования MSC прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ cscanf - Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с консоли ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ.

БистСма программирования Π’Π‘ прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ getpass - Π²Π²ΠΎΠ΄ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° пароля Π±Π΅Π· эхо-ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ

ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ содСрТатся Π² Ρ„Π°ΠΉΠ»Π΅ conio.h. Устройства: ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠΎΡ€Ρ‚ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π²/Π², поэтому Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fopen ΠΈ fclose Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²/Π² с консольного Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ строки (cgets ΠΈ cputs), Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (cscanf ΠΈ cprintf) ΠΈ символы. Ѐункция kbhit опрСдСляСт: Π±Ρ‹Π»ΠΎ Π»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши Π½Π° консольном Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. Π­Ρ‚Π° функция позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ символов для Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π΄ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ чтСния.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Ѐункция ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС abs Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ значСния выраТСния Ρ‚ΠΈΠΏΠ° int acos вычислСниС арккосинуса asin вычислСниС арксинуса atan вычислСниС арктангСнса Ρ… atan2 вычислСниС арктангСнса ΠΎΡ‚ Ρƒ/Ρ… cabs Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ значСния комплСксного числа ceil Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ наимСньшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ, большСго ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎΠ³ΠΎ Ρ… _clear87 ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния ΠΈ инициализация слова состояния сопроцСссора ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ _control87 ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ старого значСния слова состояния для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈ установка Π½ΠΎΠ²ΠΎΠ³ΠΎ состояния cos вычислСниС косинуса cosh вычислСниС гипСрболичСского косинуса exp вычислСниС экспонСнты fabs Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ значСния Ρ‚ΠΈΠΏΠ° double floor Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ наибольшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ, мСньшСго ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎΠ³ΠΎ Ρ… fmod Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ остатка ΠΎΡ‚ дСлСния Ρ…/Ρƒ _fpreset повторная инициализация ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ frexp Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ… ΠΊΠ°ΠΊ произвСдСния мантиссы Π½Π° экспонСнту 2n hypot вычислСниС Π³ΠΈΠΏΠΎΡ‚Π΅Π½ΡƒΠ·Ρ‹ labs Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ значСния Ρ‚ΠΈΠΏΠ° long ldexp вычислСниС Ρ…*2exp log вычислСниС Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ° log10 вычислСниС Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ° ΠΏΠΎ основанию 10 matherr ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π°ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π° ошибки ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ матСматичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ modf Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ… Π½Π° Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈ Ρ†Π΅Π»ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ pow вычислСниС Ρ… Π² стСпСни Ρƒ sin вычислСниС синуса sinh вычислСниС гипСрболичСского синуса sqrt Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня _status87 ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния слова состояния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ tan вычислСниС тангСнса tanh вычислСниС гипСрболичСского тангСнса

БистСма программирования MSC прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Ѐункция ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС bessel вычислСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ БСссСля dieeetomsbin ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅Π³ΠΎ числа Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности ΠΈΠ· IEEE-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² Microsoft-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ dmsbintoieee ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅Π³ΠΎ числа Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности ΠΈΠ· Microsoft-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² IEEE-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ fieeetomsbin ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠ· IEEE-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² Microsoft-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ fmsbintoieee ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠ· Microsoft-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² IEEE-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

БистСма программирования Π’Π‘ прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Ѐункция ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС _matherr ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π°ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π° ошибки ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· матСматичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pow10 вычислСниС дСсятичной стСпСни

ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ содСрТатся Π² Ρ„Π°ΠΉΠ»Π΅ math.h, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ _clear87, _control87, _fpreset, status87, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»Π΅ float.h. Ѐункция matherr (Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Ρ‚ΡŒ сам Π² своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅) вызываСтся любой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠΉ матСматичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Ссли ΠΎΠ½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°, для установки Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок.

ДинамичСскоС распрСдСлСниС памяти

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° языка Π‘ΠΈ прСдоставляСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ распрСдСлСния динамичСской памяти (heap). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ позволяСт динамичСски (ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ возникновСния нСобходимости) Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ области ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Π Π°Π±ΠΎΡ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ динамичСского распрСдСлСния памяти различаСтся для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ памяти, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… систСмой программирования (смотри ΠΏΠ΅Ρ€Π²ΡƒΡŽ части ΠΊΠ½ΠΈΠ³ΠΈ).

Π’ ΠΌΠ°Π»Ρ‹Ρ… модСлях памяти (tiny, small, medium) доступно для использования всС пространство ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ†ΠΎΠΌ сСгмСнта статичСских Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ стСка, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ 256-Π±Π°ΠΉΡ‚Π½ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€Π½ΠΎΠΉ Π·ΠΎΠ½Ρ‹ нСпосрСдствСнно ΠΎΠΊΠΎΠ»ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка.

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… модСлях памяти (compact, large, huge) всС пространство ΠΌΠ΅ΠΆΠ΄Ρƒ стСком ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ физичСской памяти доступно для динамичСского размСщСния памяти.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для динамичСского распрСдСлСния памяти:

Ѐункция ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС calloc Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ для массива free ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ calloc, malloc ΠΈΠ»ΠΈ realloc malloc Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ памяти realloc ΠΏΠ΅Ρ€Π΅Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ памяти, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ sbrk ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ адрСс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, нСдоступного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (Π½Π°Ρ‡Π°Π»Π° области памяти Π²Π½Π΅ досягаСмости ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹)

БистСма программирования MSC прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Ѐункция ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС alloca Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° памяти ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ стСка _expand ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠ° памяти, Π½Π΅ мСняя мСстополоТСния Π±Π»ΠΎΠΊΠ° _ffree освобоТдСниС Π±Π»ΠΎΠΊΠ°, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fmalloc _fmalloc Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° памяти Π²Π½Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ сСгмСнта _freect ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎΠ΅ число областСй Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ _fmsize Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° памяти, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ дальний (far) ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ halloc Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ для большого массива (объСмом Π±ΠΎΠ»Π΅Π΅ 64 ΠšΠ±Π°ΠΉΡ‚ΠΎΠ²) hfree ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ памяти, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ halloc _memavl ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ… памяти, доступной для выдСлСния _msize ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ calloc, malloc, realloc _nfree освобоТдаСт Π±Π»ΠΎΠΊ, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ посрСдством _nmalloc _nmalloc Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ памяти Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ сСгмСнтС _nmsize ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΈΠ·ΠΊΠΈΠΉ (near) ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ stackavail ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ объСм памяти, доступной для выдСлСния посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ alloca

БистСма программирования Π’Π‘ прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: