Mis on staatiline jaotamine?

Arvutikoodi kirjutamisel tuleb mõista palju asju. Iga programmeerimiskeel on erinev, oma süntaksi ja struktuuridega. Üks paljudes programmeerimiskeeltes levinud asjadest on muutujate seadistamise vajadus. Muutujad salvestavad andmeid viisil, millele saab tulevikus viidata.

Muutujale saate paljude muude asjade hulgas määrata erinevaid väärtusi, näiteks tekstistringe, numbreid või andmemassiivi. Paljud keeled nõuavad, et deklareeriksite, mis tüüpi andmed salvestatakse muutujas, mis piirab teid näiteks ainult numbritega.

Teine asi, mis programmeerimiskeelte vahel erineb, on vajadus deklareerida muutuja jaotustüüp. Mõned keeled ei nõua seda, samas kui teised on ranged. On kaks peamist jaotamise tüüpi: staatiline ja dünaamiline.

Staatiline vs dünaamiline

Staatiline muutuja on muutuja, mille suurus määratakse enne rakenduse käivitamist. Selle määrab kompilaator kompileerimise ajal. Näiteks saab määratleda stringi, millel on kindel pikkus. Seejärel eraldab kompilaator staatiliselt pika stringi salvestamiseks vajaliku mäluruumi.

Alternatiiviks on dünaamiline jaotamine. Siin määrab muutuja suuruse programm töötamise ajal. Programm sisaldab loogikat muutujale eraldatud mälumahu reguleerimiseks, võimaldades sellel aja jooksul muutuda, kui ruumi on vaja rohkem või vähem. Tavaliselt pakub see mälukasutuses suuremat paindlikkust kui staatiline jaotamine, kuid sellega kaasnevad veidi jõudluskulud. Dünaamilise jaotamise üks peamisi eeliseid on see, et seda ei pea eraldama enne, kui seda vajatakse. Mälu saab vabastada, kui seda enam ei vajata, isegi kui programm veel töötab.

Staatiliselt eraldatud muutujad salvestatakse püsivalt mällu. See ei tähenda, et programm ei saaks muutujasse salvestatud väärtust muuta. Selle asemel tähendab see, et muutuja hõivatud mälumahtu ei saa kunagi muuta. Isegi kui muudate muutuja suurest väärtusest väikeseks, ei saa te seda praegu mittevajalikku mäluruumi vabastada. Samuti ei saa te olemasolevat ruumi suurendada. See võib olla probleem, kui muutuja on mõeldud muutuva pikkusega kasutajasisendite salvestamiseks.

Funktsioonid ja alamprogrammid

Staatilised muutujad salvestatakse pigem virna kui hunnikusse. See tähendab, et need jäävad kättesaadavaks eksemplaris, milles need loodi. Programmi põhiosas staatiliselt eraldatud muutujad kehtivad ja jäävad mällu kogu rakenduse töötamise aja. Seda seetõttu, et rakenduse virn on alati olemas. Kui kutsutakse eraldi funktsioon või klass, saab see oma kirje pinusse, kuhu saab salvestada uusi staatiliselt eraldatud muutujaid. Nende muutujate mälu saab vabastada, kui klass suletakse, kuna kirje virnast eemaldatakse.

Järeldus

Staatiline jaotus on muutujale mäluruumi eraldamine – kompilaator lukustab kompileerimise ajal vajaliku ruumi. Kuigi muutuja väärtus võib muutuda, ei saa sellele eraldatud ruumi maht muutuda. See piirang takistab ruumi vabastamist, kui seda pole vaja. Samuti takistab see vajaduse korral rohkem ruumi eraldamist. Staatilisel jaotamisel on jõudluse eelis dünaamilise jaotamise ees, kuid see on vähem paindlik. Tavaliselt kasutatakse nii staatilisi kui ka dünaamilisi muutujaid, kuna need mõlemad pakuvad eeliseid.


Mis on SMPS?

Mis on SMPS?

Enne oma arvutile SMPS-i valimist uurige, mis on SMPS ja mida tähendab erinevate tõhususe reiting.

Mis on isolatsioonipõhine turvalisus?

Mis on isolatsioonipõhine turvalisus?

Kavatsesin süveneda teemasse, mis muutub küberturvalisuse maailmas üha olulisemaks: isolatsioonipõhine turvalisus. See lähenemine

Kuidas kasutada automaatset klikkerit Chromebooki jaoks

Kuidas kasutada automaatset klikkerit Chromebooki jaoks

Täna kavatsesime süveneda tööriista, mis suudab teie Chromebookis korduvaid klõpsamisi automatiseerida: automaatset klõpsurit. See tööriist võib säästa teie aega ja

Roomba peatub, jääb kinni ja pöörab ümber – paranda

Roomba peatub, jääb kinni ja pöörab ümber – paranda

Lahendage probleem, kus teie Roomba robottolmuimeja peatub, kinni jääb ja pöörleb pidevalt ümber.

Miks minu Chromebook ei lülitu sisse?

Miks minu Chromebook ei lülitu sisse?

Hankige vastused küsimusele, miks minu Chromebook ei lülitu sisse? Selles kasulikus juhendis Chromebooki kasutajatele.

Kuidas muuta Steam Decki graafikaseadeid

Kuidas muuta Steam Decki graafikaseadeid

Steam Deck pakub jõulist ja mitmekülgset mängukogemust otse teie käeulatuses. Kuid selleks, et optimeerida oma mängimist ja tagada parim võimalik

Kuidas muuta Fitbit Versa 4 kella numbrit

Kuidas muuta Fitbit Versa 4 kella numbrit

Muutke oma Fitbit Versa 4 kella sihverplaati, et anda oma kellale iga päev tasuta uus välimus. Vaadake, kui kiire ja lihtne see on.

Kuidas Googleile andmepüügipettustest teatada

Kuidas Googleile andmepüügipettustest teatada

Sellest juhendist leiate teavet selle kohta, kuidas petturist Google'ile teatada, et vältida teiste petmist.

Kuidas eemaldada GPU Windowsi arvutist 2023. aastal

Kuidas eemaldada GPU Windowsi arvutist 2023. aastal

Kas peate GPU arvutist eemaldama? Liituge minuga ja selgitan selles samm-sammulises juhendis, kuidas GPU arvutist eemaldada.

Mis on õlasurf?

Mis on õlasurf?

Õlas surfamine on sotsiaalse manipuleerimise rünnak. See hõlmab ründajat, kes kogub teavet teie ekraani vaadates.