Što je statička dodjela?

Prilikom pisanja računalnog koda potrebno je razumjeti mnogo stvari. Svaki programski jezik je drugačiji, sa svojim skupom sintakse i struktura. Jedna od stvari koja je uobičajena u mnogim programskim jezicima je potreba za postavljanjem varijabli. Varijable pohranjuju podatke na način na koji se može referencirati u budućnosti.

Možete dodijeliti različite vrijednosti varijabli, kao što su nizovi teksta, brojevi ili niz podataka, među mnogim drugim stvarima. Mnogi jezici zahtijevaju da deklarirate koji tip podataka će biti pohranjen u varijabli ograničavajući vas samo na brojeve, na primjer.

Još jedna stvar koja se razlikuje između programskih jezika je potreba za deklariranjem tipa dodjele varijable. Neki jezici to ne zahtijevaju, dok su drugi strogi. Postoje dvije glavne vrste dodjele: statička i dinamička.

Statički protiv dinamičkog

Statička varijabla je varijabla čija je veličina određena prije pokretanja aplikacije. Postavlja ga prevodilac u vrijeme kompajliranja. Na primjer, može se definirati niz koji ima konačnu duljinu. Memorijski prostor potreban za pohranjivanje dugog niza zatim statički dodjeljuje kompajler.

Alternativa je dinamička dodjela. Ovdje veličinu varijable postavlja program dok radi. Program sadrži logiku za podešavanje količine memorije dodijeljene varijabli, dopuštajući joj da se mijenja tijekom vremena ako je potrebno više ili manje prostora. To obično nudi veću fleksibilnost u korištenju memorije od statičke dodjele, ali dolazi uz malu cijenu izvedbe. Jedna od glavnih prednosti dinamičke dodjele je ta da se ne mora dodjeljivati ​​dok ne bude potrebna. Memorija se može osloboditi kada više nije potrebna, čak i ako program još uvijek radi.

Varijable koje su statički alocirane trajno se pohranjuju u memoriju. To ne znači da program ne može promijeniti vrijednost pohranjenu u varijabli. Umjesto toga, to znači da se količina memorije koju varijabla zauzima nikada ne može promijeniti. Čak i ako promijenite varijablu s velike vrijednosti na malu, ne možete osloboditi ništa od tog sada nepotrebnog memorijskog prostora. Također ne možete povećati količinu dostupnog prostora. To može biti problem ako je varijabla namijenjena za pohranu korisničkih unosa varijabilne duljine.

Funkcije i potprogrami

Statičke varijable pohranjuju se u stog, a ne u hrpu. To znači da ostaju dostupni u instanci u kojoj su stvoreni. Statički dodijeljene varijable u glavnom tijelu programa ostaju važeće iu memoriji cijelo vrijeme rada aplikacije. To je zato što je stog aplikacije uvijek tu. Kada se pozove posebna funkcija ili klasa, ona dobiva svoj zapis na stogu u koji se mogu pohraniti nove statički dodijeljene varijable. Memorija za ove varijable može se osloboditi nakon što se klasa zatvori, budući da se zapis izbacuje sa stoga.

Zaključak

Statička dodjela je dodjela memorijskog prostora za varijablu—prevodilac zaključava količinu prostora potrebnu za vrijeme prevođenja. Iako se vrijednost varijable može promijeniti, količina prostora koji joj je dodijeljen ne može. Ovo ograničenje sprječava oslobađanje prostora ako nije potreban. Također sprječava da više prostora bude dostupno ako je potrebno. Statička dodjela ima prednost u izvedbi u odnosu na dinamičku dodjelu, ali je manje fleksibilna. Obično se koriste i statičke i dinamičke varijable jer obje nude prednosti.


Leave a Comment

Kako instalirati SSD na stolna i prijenosna računala

Kako instalirati SSD na stolna i prijenosna računala

Kupili ste SSD u nadi da unaprijedite internu pohranu vašeg računala, ali ne znate kako instalirati SSD? Pročitajte ovaj članak odmah!

Kako pronaći IP adresu pisača

Kako pronaći IP adresu pisača

Imate problema s pronalaženjem IP adrese vašeg pisača? Pokazat ćemo vam kako to pronaći.

Što učiniti ako Powerbeats Pro ne može puniti u kutiji

Što učiniti ako Powerbeats Pro ne može puniti u kutiji

Ako vaši Powerbeats Pro ne pune, koristite drugi izvor napajanja i očistite svoje slušalice. Ostavite kutiju otvorenom dok punite slušalice.

Kako povezati prijenosno računalo sa sustavom Windows 11 s projektorom/TV-om

Kako povezati prijenosno računalo sa sustavom Windows 11 s projektorom/TV-om

Pročitajte ovaj članak kako biste naučili jednostavan korak-po-korak postupak za povezivanje prijenosnog računala s projektorom ili TV-om na sustavima Windows 11 i Windows 10.

Osnove 3D ispisa: Obavezna kontrolna lista za održavanje

Osnove 3D ispisa: Obavezna kontrolna lista za održavanje

Održavanje vašeg uređaja u dobrom stanju je nužno. Ovdje su neki korisni savjeti kako održati vaš 3D printer u vrhunskom stanju.

Kako popraviti GeForce Now grešku kod 0xC272008F

Kako popraviti GeForce Now grešku kod 0xC272008F

Upravo se pripremate za noć igranja koja će biti velika – upravo ste preuzeli “Star Wars Outlaws” na GeForce Now streaming servisu. Otkrijte jedini poznati način kako popraviti GeForce Now grešku kod 0xC272008F kako biste ponovno mogli igrati Ubisoft igre.

5 Razloga zašto vaš laptop pregrijava

5 Razloga zašto vaš laptop pregrijava

Saznajte koji su mogući razlozi za pregrijavanje vašeg laptopa, zajedno s savjetima i trikovima kako izbjeći ovaj problem i održati uređaj hladnim.

10 Najboljih NAS uređaja za pohranu za kućnu i profesionalnu upotrebu

10 Najboljih NAS uređaja za pohranu za kućnu i profesionalnu upotrebu

Bilo da tražite NAS za svoj dom ili ured, pogledajte ovu listu najboljih NAS uređaja za pohranu.

Osnove 3D ispisa: Savjeti za održavanje vašeg 3D pisača

Osnove 3D ispisa: Savjeti za održavanje vašeg 3D pisača

Održavanje vaših 3D pisača je vrlo važno kako bi se postigli najbolji rezultati. Evo nekoliko važnih savjeta koje treba imati na umu.

Canon Pixma MG5220: Skenirajte bez tinte

Canon Pixma MG5220: Skenirajte bez tinte

Kako omogućiti skeniranje na Canon Pixma MG5220 kada vam dođe do tinte.