Kas yra statinis paskirstymas?

Rašant kompiuterio kodą reikia suprasti daugybę dalykų. Kiekviena programavimo kalba yra skirtinga, turinti savo sintaksės ir struktūrų rinkinį. Vienas iš dalykų, būdingų daugeliui programavimo kalbų, yra poreikis nustatyti kintamuosius. Kintamieji saugo duomenis taip, kad juos būtų galima nurodyti ateityje.

Be daugelio kitų dalykų, kintamajam galite priskirti skirtingas reikšmes, pvz., teksto eilutes, skaičius arba duomenų masyvą. Daugelyje kalbų reikia nurodyti, kokio tipo duomenys bus saugomi kintamajame, apribojant, pavyzdžiui, tik skaičiais.

Kitas dalykas, kuris skiriasi programavimo kalbose, yra būtinybė deklaruoti kintamojo paskirstymo tipą. Kai kurios kalbos to nereikalauja, o kitos yra griežtos. Yra du pagrindiniai paskirstymo tipai: statinis ir dinaminis.

Statinis ir dinaminis

Statinis kintamasis yra kintamasis, kurio dydis nustatomas prieš paleidžiant programą. Kompiliavimo metu jį nustato kompiliatorius. Pavyzdžiui, galima apibrėžti eilutę, kuri turi galutinį ilgį. Tada kompiliatorius statiškai paskirsto atminties vietą, reikalingą ilgai eilutei saugoti.

Alternatyva yra dinaminis paskirstymas. Čia kintamojo dydį nustato programa, kai ji veikia. Programoje yra logikos, leidžiančios reguliuoti kintamajam skirtos atminties kiekį, leidžiantį laikui bėgant keisti, jei reikia daugiau ar mažiau vietos. Tai paprastai suteikia daugiau lankstumo naudojant atmintį nei statinis paskirstymas, tačiau tai kainuoja šiek tiek našumo. Vienas iš pagrindinių dinaminio paskirstymo pranašumų yra tai, kad jo nereikia skirti tol, kol jo nereikia. Atmintį galima atlaisvinti, kai jos nebereikia, net jei programa vis dar veikia.

Statiškai paskirstyti kintamieji yra nuolat saugomi atmintyje. Tai nereiškia, kad programa negali pakeisti kintamajame saugomos reikšmės. Vietoj to, tai reiškia, kad atminties kiekis, kurį kintamasis užima, niekada negali būti pakeistas. Net jei pakeisite kintamąjį iš didelės reikšmės į mažą, negalėsite atlaisvinti jokios dabar nereikalingos atminties vietos. Taip pat negalite padidinti laisvos vietos. Tai gali būti problema, jei kintamasis skirtas kintamo ilgio vartotojo įvestims saugoti.

Funkcijos ir paprogramės

Statiniai kintamieji saugomi krūvoje, o ne krūvoje. Tai reiškia, kad jie išlieka prieinami tuo atveju, kai buvo sukurti. Statiškai priskirti kintamieji pagrindinėje programos dalyje galioja ir išlieka atmintyje visą programos veikimo laiką. Taip yra todėl, kad programos krūva visada yra. Kai iškviečiama atskira funkcija arba klasė, ji gauna savo įrašą krūvoje, kurioje gali būti saugomi nauji statiškai priskirti kintamieji. Šių kintamųjų atmintis gali būti išleista uždarius klasę, kai įrašas pašalinamas iš krūvos.

Išvada

Statinis paskirstymas yra atminties vietos paskirstymas kintamajam – kompiliatorius užrakina vietos kiekį, kurio reikia kompiliavimo metu. Nors kintamojo reikšmė gali keistis, jam skirtos vietos kiekis negali keistis. Šis apribojimas neleidžia atlaisvinti vietos, jei jos nereikia. Tai taip pat neleidžia suteikti daugiau vietos, jei to reikia. Statinis paskirstymas turi pranašumą prieš dinaminį paskirstymą, tačiau yra mažiau lankstus. Paprastai naudojami ir statiniai, ir dinaminiai kintamieji, nes jie abu teikia pranašumų.


Leave a Comment

5 Priežastys, Kodėl Jūsų Nešiojamas Kompiuteris Perkaista

5 Priežastys, Kodėl Jūsų Nešiojamas Kompiuteris Perkaista

Sužinokite apie kai kurias galimas jūsų nešiojamojo kompiuterio perkaitimo priežastis, kartu su patarimais ir gudrybėmis, kaip išvengti šios problemos ir išlaikyti savo įrenginį šaltą.

3D Spausdinimo Pagrindai: Būtinas Priežiūros Patikrinimo Sąrašas

3D Spausdinimo Pagrindai: Būtinas Priežiūros Patikrinimo Sąrašas

Laikyti įrangą geros būklės yra būtina. Štai keletas naudingų patarimų, kaip išlaikyti savo 3D spausdintuvą puikios būklės.

Ką daryti, jei Powerbeats Pro neįsikrauna dėkle

Ką daryti, jei Powerbeats Pro neįsikrauna dėkle

Jei jūsų Powerbeats Pro neįsikrauna, naudokite kitą maitinimo šaltinį ir išvalykite ausines. Palikite dėklą atvirą, kol įkraunate ausines.

10 Geriausių NAS Saugojimo Įrenginių Namo ir Profesiniam Naudojimui

10 Geriausių NAS Saugojimo Įrenginių Namo ir Profesiniam Naudojimui

Ar ieškote NAS namuose ar biure, patikrinkite šį geriausių NAS saugojimo įrenginių sąrašą.

Canon Pixma MG5220: Nuskaitykite be rašalo

Canon Pixma MG5220: Nuskaitykite be rašalo

Kaip įgalinti nuskaitymą Canon Pixma MG5220, kai trūksta rašalo.

Kaip įdiegti SSD staliniuose ir nešiojamuose kompiuteriuose

Kaip įdiegti SSD staliniuose ir nešiojamuose kompiuteriuose

Ar ką tik įsigijote SSD ir norite atnaujinti vidinę savo kompiuterio atmintį, bet nežinote, kaip įdiegti SSD? Perskaitykite šį straipsnį dabar!

Kaip ištaisyti GeForce Now klaidos kodą 0xC272008F

Kaip ištaisyti GeForce Now klaidos kodą 0xC272008F

Jūs ruošiatės ilgam žaidimų vakarui, ir tai bus didelis vakaras – ką tik įsigijote "Star Wars Outlaws" GeForce Now transliacijų paslaugoje. Sužinokite vienintelį žinomą sprendimą, kaip ištaisyti GeForce Now klaidos kodą 0xC272008F, kad galėtumėte vėl pradėti žaisti Ubisoft žaidimus.

Kas yra haptinis grįžtamasis ryšys?

Kas yra haptinis grįžtamasis ryšys?

Haptinis grįžtamasis ryšys yra lietimosi komunikacijos rūšis, dažniausiai vibracijos modelio forma. Sužinokite daugiau apie Haptic Feedback mobiliųjų technologijų ir žaidimų pasaulyje.

Kaip klonuoti standųjį diską

Kaip klonuoti standųjį diską

Šiuolaikiniame skaitmeniniame amžiuje, kai duomenys yra vertingas turtas, kietojo disko klonavimas sistemoje „Windows“ daugeliui gali būti labai svarbus procesas. Šis išsamus vadovas

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Ar paleidžiant kompiuterį matote klaidos pranešimą, kuriame rašoma, kad tvarkyklės WUDFRd nepavyko įkelti į kompiuterį?